实验十一 用户界面设计(二)
(一)教学要求
掌握图像视图,列表选择框的基本应用。 (二)知识点提示
图像视图,列表选择框的使用。 (三)教学内容
1、实现一简单的图片浏览器。
(1)在Eclipse中新建Android项目。在res/values目录下的strings.xml文件中添加三个string元素,具体代码如下:
(3)修改项目的res/layout目录下的布局文件Activity_main.xml,添加一个ImageView组件和两个Button组件,设置ImageView的padding属性为2。代码如下:
46
(4)在MainActivity类中定义三个类的成员变量,一个整形数组和一个整形变量。代码如下: ImageView iv; Button btnPrev; Button btnNext; int[] imgId={ R.drawable.p01, R.drawable.p02, R.drawable.p03, R.drawable.p04, R.drawable.p05, R.drawable.p06, R.drawable.p07, R.drawable.p08, R.drawable.p09 }; int curImageId=0;
(5)在主活动的onCreat()方法中,获取布局文件中添加的单选按钮和按钮,并为按钮添加鼠标单击事件监听器,具体代码如下 iv=(ImageView)findViewById(R.id.imageView1); btnPrev=(Button)findViewById(R.id.button1); btnNext=(Button)findViewById(R.id.button2); btnPrev.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub curImageId=(curImageId-1+imgId.length)%imgId.length; iv.setImageResource(imgId[curImageId]); } }); btnNext.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub curImageId=(curImageId+1)%imgId.length; iv.setImageResource(imgId[curImageId]); } });;
(6)运行本实例,将显示如下图所示的运行结果:
47
2、编写Android程序,实现图标在上、文字在下的ListView。
(1)在Eclipse中新建Android项目。把experiment11\\test2下的img01~img08九幅图片拷贝到res/drawable目录下。
(2)修改项目的res\\layout目录下的布局文件Activity_main.xml,将默认的TextView组件删除,然后添加一个id属性为ListView1de ListView组件。修改后的代码如下:
(3)在主活动的onCreat()方法中,获取布局文件中的列表视图,然后创建两个用于保存列表项图片id和文字的数组,并将这些图片id和文字添加到List集合中,再创建一个SimpleAdapter简单适配器,最后将该适配器与ListView相关联,具体代码如下: ListView listView=(ListView)findViewById(R.id.listView1); int[] imageId=new int[]{R.drawable.img01,R.drawable.img02, R.drawable.img03,R.drawable.img04,R.drawable.img05, R.drawable.img06,R.drawable.img07,R.drawable.img08}; // 定义并初始化保存列表项文字的数组 String[] title = new String[] { \保密设置\, \安全\, \系统设置\, \上网\, \我的文档\,\导航\, \我的音乐\, \ }; List
(4)运行本实例,将显示如下图所示的运行结果:
49
(四)思考题
1. 用来设置ImageView的保持纵横比缩放的属性是什么?
50