Android UI控件详解-Gallery(画廊)
2014-04-07 20:02
399 查看
package com.example.gallery; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; import android.widget.Gallery; /** * * @author TXF * * 用Gallery(画廊)实现图片的无限循环 * */ @SuppressLint("ShowToast") public class MainActivity extends Activity { @SuppressWarnings("deprecation") private Gallery mga; private Context mcontext; private Integer[] mImageIds = { R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 通过findViewById找到gallery对象 mga = (Gallery) findViewById(R.id.gallery); // 设置整个界面的背景 // mga.setBackgroundResource(R.drawable.ic_launcher); // 设置适配器 mga.setAdapter(new MyAdapter(this)); // 设置gallery条目被点击的事件监听 mga.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { Toast.makeText(MainActivity.this, "你选择了:" + (position + 1) + "号图片", 0).show(); } }); } // 写一个类继承基本适配器(自定义适配器) private class MyAdapter extends BaseAdapter { public MyAdapter(Context c) { mcontext = c; } @Override public int getCount() { // 整型的最大值为2的31次方减去1 return Integer.MAX_VALUE; } @Override public Object getItem(int position) { return mImageIds[position]; } @Override public long getItemId(int position) { return position; } @SuppressWarnings("deprecation") @Override public View getView(int position, View view, ViewGroup parent) { ImageView iv = new ImageView(mcontext); // 给imageview设置图片资源 // 为了保证数组角标不能越界mImageIds里面的参数为position%mImageIds.length. iv.setImageResource(mImageIds[position % mImageIds.length]); // 设置布局图片以120*120显示(即图片显示尺寸) iv.setLayoutParams(new Gallery.LayoutParams(200, 200)); // 设置显示比例类型 iv.setScaleType(ImageView.ScaleType.CENTER); // 返回图片 return iv; } } }
xml布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Gallery android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="120dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="#55FFFF" /> </RelativeLayout>效果图
相关文章推荐
- 【Android 开发】:UI控件之 Gallery 画廊控件的使用
- Android UI控件系列:Gallery(画廊视图)
- Android UI开发详解之模板控件的复用
- Android系列之浅谈AndroidGallery控件使用方法详解
- Android UI控件之Gallery +GridView实现图片与小圆点同步变化
- android UI控件之ListView详解之一listView+ArrayAdpater
- Android UI控件详解-Dialog(对话框合集)
- Android UI开发详解之模板控件的复用
- Android高级组件Gallery画廊视图使用方法详解
- android UI控件之ListView详解之一listView+BaseAdpater
- Android Gallery控件使用方法详解
- Android Gallery控件使用方法详解
- Android UI 控件详解-TextView(文本视图)
- Android UI控件之Gallery +GridView实现图片与小圆点同步变化
- Android 高级UI设计笔记14:Gallery(画廊控件)之 3D图片浏览
- Android Gallery控件使用方法详解
- Android UI控件详解-Button(按钮)点击事件的5种写法
- Android UI系统控件进阶(三)—自动完成文本控件AutoCompleteTextView详解及属性
- Android UI控件之Gallery(拖动效果) --拖动式图片浏览
- Android UI控件详解-CheckBox(多选框)