首页 > 代码库 > 第二十四讲:用户界面View之Gallery
第二十四讲:用户界面View之Gallery
生活就像海洋,只有意志坚强的人,才能到达彼岸。 —— 马克思
本讲内容: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=http://www.mamicode.com/"@drawable/c3">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; } } }
下面是运行结果:
本讲到这里,谢谢大家!
第二十四讲:用户界面View之Gallery
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。