Android(安卓)gallery与BaseaDapter的使用
16lz
2021-12-04
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:id="@+id/img" android:layout_width="300dp" android:layout_height="300dp" 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>
package com.example.test;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;public class MainActivity extends Activity { private Gallery mGallery; private ImageView mImg; //图片数组 private int[] pics = { R.drawable.girl1, R.drawable.girl2, R.drawable.girl4, R.drawable.gril3, R.drawable.demo, R.drawable.demo1 }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mImg = (ImageView)findViewById(R.id.img); mGallery = (Gallery)findViewById(R.id.gallery); MyAdapter adapter = new MyAdapter(this); mGallery.setAdapter(adapter); mGallery.setOnItemClickListener(new Gallery.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapter, View view, int position, long arg3) { mImg.setImageResource(pics[position]); } }); } //内部类 class MyAdapter extends BaseAdapter { //用来接收传递过来的Context上下文对象 private Context context; //构造函数 public MyAdapter(Context context) { this.context = context; } @Override public int getCount() { //返回图片数组大小 return pics.length; } @Override public Object getItem(int position) { //根据选中项返回索引位置 return position; } @Override public long getItemId(int position) { //根据选中项id返回索引位置 return position; } //未优化的getView,这部分可以使用recycle()释放内存、或者BitmapFacotry.Options缩小,或者软引用,或者控制图片资源大小等等很多方法,找时间专门写 @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView img = new ImageView(context); img.setAdjustViewBounds(true); img.setImageResource(pics[position]); img.setScaleType(ImageView.ScaleType.FIT_XY);// img.setLayoutParams(new Gallery.LayoutParams(120,120)); return img; } }}
更多相关文章
- 箭头函数的基础使用
- Android之Gallery
- Android保存图片到图库,Android扫描文件到媒体库,Android保存图片
- java 后端实现WebSocket学习篇和客户端Android(安卓)通信
- AutoCompleteTextView的基本使用
- Android(安卓)虚化图片的方法
- Android在SD卡上的文件读写
- android 显示Gift图片
- android imageview图片显示出来