Android高级组件Gallery画廊视图使用方法详解
package com.example.test;
import android.app.Activity;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Gallery gallery=(Gallery)findViewById(R.id.gallery1);
final 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,
R.drawable.img_top,R.drawable.ic_launcher,R.drawable.in,R.drawable.stop,};//定义并初始化保存图片id的数组
//创建并改写BaseAdapter适配器
BaseAdapter adapter=new BaseAdapter(){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;//声明一个ImageView的对象
if(convertView==null){
imageView=new ImageView(MainActivity.this);//实例化ImageView对象
imageView.setScaleType(ImageView.ScaleType.FIT_XY);//设置缩放方式
imageView. setLayoutParams(new Gallery.LayoutParams(180, 135));//设置ImageView宽高
TypedArray typedArray=obtainStyledAttributes(R.styleable.Gallery);//获取自定义属性对象
//为imageView设置背景图片的资源,使用了自定义属性对象typedArray获取自定义背景资源值
imageView.setBackgroundResource(
typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0));
imageView.setPadding(5, 0, 5, 0);//设置内边距
}else{
//如果以前new过View就使用convertView的缓存
imageView=(ImageView)convertView;
}
imageView.setImageResource(imageId[position]);
return imageView;
}
//功能:获得当前选项的id
@Override
public long getItemId(int position) {
return position;
}
//功能:获得当前选项
@Override
public Object getItem(int position) {
return position;
}
//获得数量
@Override
public int getCount() {
return imageId.length;
}
};
gallery.setAdapter(adapter);
gallery.setSelection(imageId.length/2);
gallery.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
Toast.makeText(MainActivity.this, "您选择了第"+String.valueOf(position)+"张图片",
Toast.LENGTH_SHORT).show();
}
});
}
}
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播
相关文章
- Android Retrofit使用详细教程
- Android应用中使用ListView来分页显示刷新的内容
- Android安卓5.0系统正式版刷机包(镜像)官方下载地址汇总(适配设备)
- A4中文拼音输入法 for Android 1.0 官方版
- android4.0与2.3版本的TP代码区别解析
- Android多线程及异步处理问题详细探讨
- Android对话框AlertDialog与DatePickerDialog及TimePickerDialog使用详解
- android实现支付宝咻一咻的几种思路方法
- Android SurfaceView与TextureView使用方法详细讲解
- Android中ContentProvider和ContentResolver详解