Android Gallery View
Gallery View display items in a central locked horizontal scrolling list. The items of a Gallery are from adapter same as we do with listview and gridview.Example:
1. Create a new project.
2. Edit MainActivity.java
package skk.pak.gallery;
import
android.app.Activity;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.AdapterView;
import
android.widget.AdapterView.OnItemClickListener;
import
android.widget.AdapterView.OnItemSelectedListener;
import
android.widget.Gallery;
import
android.widget.ImageView;
import
android.widget.TextView;
import
android.widget.Toast;
public class
MainActivity extends Activity {
ImageView selectedImage;
TextView tv_name;
TextView tv_description;
static Integer[] mImageIds = {
R.drawable.muhammad_ali_jinnah,
R.drawable.khawaja_nazimuddin,
R.drawable.malik_ghulam_muhammad,
R.drawable.iskander_mirza,
R.drawable.muhammad_ayub_khan,
R.drawable.yahya_khan,
R.drawable.zulfikar_ali_bhutto,
R.drawable.fazal_ilahi_chaudri,
R.drawable.muhammad_zia_ul_haq,
R.drawable.ghulam_ishaq_khan,
R.drawable.wasim_sajjad,
R.drawable.farooq_leghari,
R.drawable.muhammad_rafiq_tarard,
R.drawable.pervez_musharraf,
R.drawable.somro,
R.drawable.asif_ali_zardari,
R.drawable.mamnun_husain };
private String leadersNames[] = {
"Muhammad Ali Jinnah (1876–1948)",
"Sir Khawaja
Nazimuddin (1894–1964)",
"Malik Ghulam Muhammad
(1895–1956)",
"Major-General
Iskander Mirza (1899–1969)",
"Field Marshal Ayub
Khan (1907–1974)",
"General Yahya Khan
(1907–1974)",
"Zulfikar Ali Bhutto
(1928–1979)",
"Fazal Ilahi
Chaudhry(1904–1982)",
"General Muhammad
Zia-ul-Haq (1924–1988)",
"Ghulam Ishaq Khan
(1915–2006)", "Wasim Sajjad (1941–)",
"Farooq Leghari
(1940–2010)", "Muhammad Rafiq Tarar (1929–)",
"General Pervez
Musharraf (1943–)", "Muhammad Mian Soomro (1950–)",
"Asif Ali Zardari
(1955–)", "Mamnoon Hussain(1940–)" };
private String descript[] = {
"Muhammad Ali Jinnah (1876–1948)",
"Sir Khawaja
Nazimuddin (1894–1964)",
"Malik Ghulam Muhammad
(1895–1956)",
"Major-General
Iskander Mirza (1899–1969)",
"Field Marshal Ayub
Khan (1907–1974)",
"General Yahya Khan
(1907–1974)",
"Zulfikar Ali Bhutto
(1928–1979)",
"Fazal Ilahi
Chaudhry(1904–1982)",
"General Muhammad
Zia-ul-Haq (1924–1988)",
"Ghulam Ishaq Khan
(1915–2006)", "Wasim Sajjad (1941–)",
"Farooq Leghari
(1940–2010)", "Muhammad Rafiq Tarar (1929–)",
"General Pervez
Musharraf (1943–)", "Muhammad Mian Soomro (1950–)",
"Asif Ali Zardari
(1955–)", "Mamnoon Hussain(1940–)" };
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Gallery gallery = (Gallery)
findViewById(R.id.gallery1);
selectedImage = (ImageView)
findViewById(R.id.image1);
tv_name = (TextView)
findViewById(R.id.tv_name_date);
tv_description = (TextView)
findViewById(R.id.tv_discription);
gallery.setSpacing(2);
gallery.setAdapter(new
GalleryImageAdapter(this));
selectedImage.setImageResource(mImageIds[0]);
tv_name.setText(leadersNames[0]);
tv_description.setText(descript[0]);
// clicklistener for Gallery
gallery.setOnItemClickListener(new
OnItemClickListener() {
public void
onItemClick(AdapterView<?> parent, View v,
int position,
long id) {
// show the selected
Image
selectedImage.setImageResource(mImageIds[position]);
tv_name.setText(leadersNames[position]);
tv_description.setText(descript[position]);
}
});
}
}
2. Edit activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#004c00"
android:orientation="vertical"
tools:context="{relativePackage}.${activityClass}" >
<Gallery
android:id="@+id/gallery1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="150dp"
android:layout_weight="1"
android:paddingBottom="5dp"
android:paddingRight="10dp"
android:paddingTop="5dp"
android:layout_gravity="left"
android:src="@drawable/muhammad_ali_jinnah" />
<TextView
android:id="@+id/tv_name_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="5dp"
android:textColor="#FFf"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tv_discription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:textColor="#fff"
android:scrollbars="vertical"
android:text="TextView" />
</LinearLayout>
3. Create class GalleryImageAdapter.java
package
skk.pak.gallery;
import
android.content.Context;
import
android.view.View;
import
android.view.ViewGroup;
import
android.widget.BaseAdapter;
import
android.widget.Gallery;
import
android.widget.ImageView;
public class
GalleryImageAdapter extends BaseAdapter {
private Context mContext;
public GalleryImageAdapter(Context
context) {
mContext = context;
}
public int getCount() {
return
MainActivity.mImageIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
// Override this method according to your
need
public View getView(int index, View view,
ViewGroup viewGroup) {
// TODO Auto-generated method stub
ImageView i = new
ImageView(mContext);
i.setImageResource(MainActivity.mImageIds[index]);
i.setLayoutParams(new
Gallery.LayoutParams(200, 200));
i.setScaleType(ImageView.ScaleType.FIT_XY);
return i;
}
}
4. Run the Application:
Screen Shots:)
--->Thanks for reading<---