Gallery是画廊控件,通常在我们的手机相册预览的时候,手机屏幕底部会出现一排图片的预览,我们可以滑动这排预览来点击自己想要查看的图片,就是Gallery来实现的功能。
效果图
自定义Adapter
public class GalleryAdapter extends BaseAdapter {
private List<ImageView> dataListPic;
private Context context;
public GalleryAdapter(List<ImageView> dataListPic, Context context) {
this.dataListPic = dataListPic;
this.context = context;
}
@Override
public int getCount() {
return dataListPic.size();
}
@Override
public Object getItem(int position) {
return dataListPic.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView=new ImageView(context);
imageView.setImageResource(R.mipmap.ic_launcher);
imageView.setAdjustViewBounds(true);
imageView.setLayoutParams(new Gallery.LayoutParams(200,200));
return imageView;
}
}
- 逻辑代码
public class MainActivity extends AppCompatActivity {
private Spinner spinner;
private List<String> dataList;
private List<ImageView> dataListPic;
private Gallery gallery;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GalleryAdapter adapter=new GalleryAdapter(dataListPic,getApplicationContext());
gallery.setAdapter(adapter);
gallery.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, position + "", Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
private void init() {
gallery= (Gallery) findViewById(R.id.gallery);
dataListPic=new ArrayList<>();
ImageView imageView=new ImageView(this);
dataListPic.add(imageView);
dataListPic.add(imageView);
dataListPic.add(imageView);
dataListPic.add(imageView);
dataListPic.add(imageView);
dataListPic.add(imageView);
dataListPic.add(imageView);
}
}
- 这里只实现了简单的demo,可以在此基础上,实现相册的画廊预览。