任务3:使用GridView组件实现如下图所示的效果

【程序截屏】




一、


package com.example.ui3;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {
	// 可以自己设置图片,图片大小不宜过大。
	Integer[] img = { R.drawable.p1, R.drawable.p2, R.drawable.p3,
			R.drawable.p4, R.drawable.p5, R.drawable.p6 };
	private ImageView imgView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		imgView = (ImageView) findViewById(R.id.img);
		GridView gird = (GridView) findViewById(R.id.gridView1);

		gird.setAdapter(new ImageAdapter(this));

		gird.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				
				imgView.setBackgroundResource(img[arg2]);
				
			
			}
		});

	}

	 class ImageAdapter extends BaseAdapter {

		public Context context;

		public ImageAdapter(Context context) {
			this.context = context;
		}

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return img.length;
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			ImageView imageView;
			if (convertView == null) {
				imageView = new ImageView(context);
				imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
				imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
				imageView.setPadding(8,8, 8, 8);
			} else {
				imageView = (ImageView) convertView;

			}
			imageView.setImageResource(img[position]);
			return imageView;

		}

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}


二、


/** Automatically generated file. DO NOT MODIFY */
package com.example.ui3;

public final class BuildConfig {
    public final static boolean DEBUG = true;
}


三、


/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.example.ui3;

public final class R {
    public static final class attr {
    }
    public static final class dimen {
        /**  Default screen margins, per the Android Design guidelines. 

         Customize dimensions originally defined in res/values/dimens.xml (such as
         screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
    
         */
        public static final int activity_horizontal_margin=0x7f040000;
        public static final int activity_vertical_margin=0x7f040001;
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
        public static final int p1=0x7f020001;
        public static final int p2=0x7f020002;
        public static final int p3=0x7f020003;
        public static final int p4=0x7f020004;
        public static final int p5=0x7f020005;
        public static final int p6=0x7f020006;
    }
    public static final class id {
        public static final int action_settings=0x7f080002;
        public static final int gridView1=0x7f080000;
        public static final int img=0x7f080001;
    }
    public static final class layout {
        public static final int activity_main=0x7f030000;
    }
    public static final class menu {
        public static final int main=0x7f070000;
    }
    public static final class string {
        public static final int action_settings=0x7f050001;
        public static final int app_name=0x7f050000;
        public static final int hello_world=0x7f050002;
    }
    public static final class style {
        /** 
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    

            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        

        Base application theme for API 11+. This theme completely replaces
        AppBaseTheme from res/values/styles.xml on API 11+ devices.
    
 API 11 theme customizations can go here. 

        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
    
 API 14 theme customizations can go here. 
         */
        public static final int AppBaseTheme=0x7f060000;
        /**  Application theme. 
 All customizations that are NOT specific to a particular API-level can go here. 
         */
        public static final int AppTheme=0x7f060001;
    }
}
三、

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000"
    android:orientation="vertical" >

    <GridView
        android:id="@+id/gridView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="top"
        android:horizontalSpacing="10dp"
        android:numColumns="2"
        android:stretchMode="columnWidth"
        android:verticalSpacing="10dp" >
    </GridView>

    <ImageView
        android:id="@+id/img"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Visual Studio2005入门.Net系列视频教程严正声明:任何个人或者团体不得将本系列教程用于商业用途,一经发现,我们将追究其法律责任. 我做这个教程的主旨是为了帮助更多的人少走弯路,少花冤枉钱,如果有人拿去用于商业用途的话,那违背了我的初衷,我是绝对不允许的.如果需要转载,请联系我QQ 110535808 ,或者MSN: thcjpxhm@hotmail.com天轰穿网站地址 :Http://Www.Thc123.Com 天轰穿博客地址 :Http://Thcjp.CnBlogs.Com准备工作 : 安装SQL2000  安装vs2005 √vs2005的环境1. 起始页创建WEB站点和创建新页面 √(vs200501)2. 对工具栏作说明 √(vs200502)3. 制作第一个页面 欢迎您进入.Net启动运行√(vs200503)4. 小结考试√(ceshi01)前四级没有声音讲解C#基本语法5. 变量√(vs200504)6. 数据类型一[数值、字符、字符串类型] √(vs200505)7. 数据类型二[日期类型] √(vs200506)8. 运算符[赋值,算术]√(vs200507)9. 数据类型转换√(vs200508)10. 结构化数据类型[一](数组)√(vs200509)11. 结构化数据类型[二](枚举,结构)√(vs200510)12. 控制结构一(分支)√(vs200511)13. 控制结构二(循环)√(vs200512)14. 控制结构二(函数)√(vs200513)15. 小结考试√(ceshi02)对象入门16. 对象概述√(vs200514)17. 创建对象和使用方法以及属性√(vs200515)18. 利用构造函数初始化对象√(vs200516)19. 重载方法以及运算符重载√(vs200517)20. 核心对象[一](Request) √(vs200518)21. 核心对象[二](Response,server) √(vs200519)22. 状态处理(Application,Seeeion,Cookie) √(vs200520)23. 小结考试√(ceshi03)事件驱动编程与回送24. Asp.Net中的事件(页面事件) √(vs200521)25. Asp.Net中的事件(控件事件) √(vs200522)26. 小结考试√(ceshi04)类27. 类的概述√(vs200523)28. 类的自定义事件√(vs200524)29. 类--共享成员√(vs200525)30. 类-索引指示器√(vs200526)31. 类--包含、镶套类型√(vs200527)32. 类--继承√(vs200528)33. 小结考试√(ceshi05)Vs2005控件34. SqlDataSource√(vs200529)35. AccessDataSource√(vs200530)36. 按纽《Button》√(vs200531)37. 单选列表和复选列表√(vs200532)38. 单选按纽和复选框 <RadioButton><CheckBox>√(vs200533)39. 广告控件《Adrotator》√(vs200534)40. BulletedList√(vs200535)41. 《Calendar》一√(vs200536)42. 《Calendar》二√(vs200537)43. 下拉列表《DropDownList》√(vs200538)44. 文件上传 《FileUpload》√(vs200539)45. HiddenField、LinkButton、Literal√(vs200540)46. 超级链接 《HyperLink》√(vs200541)47. image/imagebutton√(vs200542)48. ImageMap √(vs200543)49. 列表框 《ListBo

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值