标签:android style blog http io color ar os java
生活就像海洋,只有意志坚强的人,才能到达彼岸。 —— 马克思
本讲内容:Gallery 画廊
Gallery是一个内部元素可以水平滚动,并且可以把当前选择的子元素定位在它中心的布局组件。
我们通过一个例子感受一下,代码的讲解都写在注释里了
下面是res/layout/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:orientation="vertical" tools:context="com.example.text.MainActivity$PlaceholderFragment" > <ImageView android:id="@+id/image" android:layout_width="580px" android:layout_height="750px" android:src="@drawable/c3" android:layout_gravity="center"/> <Gallery android:id="@+id/gallery" android:layout_width="fill_parent" android:layout_height="wrap_content" android:spacing="3dp" android:layout_gravity="bottom"/> </LinearLayout>android:spacing="3dp"属性用于指定Gallery列表图片之间的间隔为3dp。
下面是MainActivity.java主界面文件:
public class MainActivity extends Activity{ private Gallery gallery; private ImageView image; //图片数组 private int[] p={R.drawable.c1,R.drawable.c2,R.drawable.c3,R.drawable.c4,R.drawable.c5,R.drawable.c6}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gallery=(Gallery) findViewById(R.id.gallery); image=(ImageView) findViewById(R.id.image); MyAdapter adapter = new MyAdapter(this); gallery.setAdapter(adapter); gallery.setOnItemClickListener(new Gallery.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view,int position, long id) { Toast.makeText(MainActivity.this, "" + position,Toast.LENGTH_LONG).show(); //设置背景部分的ImageView显示当前Item的图片 image.setImageResource(p[position]); } }); } class MyAdapter extends BaseAdapter{ //用来接收传递过来的Context上下文对象 private Context context; public MyAdapter(Context context){ this.context = context; } @Override public int getCount() { return p.length;//返回图片数组大小 } @Override public Object getItem(int position) { return position;//根据选中项返回索引位置 } @Override public long getItemId(int position) { return position; //根据选中项id返回索引位置 } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView img=new ImageView(context); img.setImageResource(p[position]);//用于将MyAdapter中的指定位置图片资源加载到img中 img.setScaleType(ImageView.ScaleType.FIT_XY);//用于设置imageView中图片的缩放显示格式。 img.setLayoutParams(new Gallery.LayoutParams(130, 180));//用于设置Gallery中图片的显示大小 return img; } } }
本讲到这里,谢谢大家!
标签:android style blog http io color ar os java
原文地址:http://blog.csdn.net/liguojin1230/article/details/40718203