Android(安卓)-- GridView
16lz
2023-05-28
下面直接通过一个例子讲解GridView的用法。
mian.xml文件:
<LinearLayout 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" android:orientation="vertical" > <!--定义一个4列的GridView控件 --> <GridView android:id="@+id/gridView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:numColumns="4" > </GridView> <!-- 定义一个ImageView --> <ImageView android:id="@+id/main_im" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:src="@drawable/bomb1" android:layout_weight="1.5" /></LinearLayout>
在定义一个cell.xml文件,里面只有一个ImageView。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/imageView1" android:layout_width="50dip" android:layout_height="50dip" /></LinearLayout>
MainActivity.java
public class MainActivity extends Activity { /** * @author shao *使用SimpleAdapter为GridView控件添加内容 */ private GridView gd; private ImageView imageView; private SimpleAdapter simpleAdapter; private int[] imageId = { R.drawable.bomb1, R.drawable.bomb2, R.drawable.bomb3, R.drawable.bomb4, R.drawable.bomb5, R.drawable.bomb6, R.drawable.bomb7, R.drawable.bomb8, R.drawable.bomb9, R.drawable.bomb10, R.drawable.bomb11, R.drawable.bomb12}; private List<Map<String, Object>> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //查找控件 gd = (GridView) findViewById(R.id.gridView1); imageView = (ImageView) findViewById(R.id.main_im); //为list添加内容 list = new ArrayList<Map<String, Object>>(); for (int i = 0; i < imageId.length; i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put("image", imageId[i]); list.add(map); } simpleAdapter = new SimpleAdapter(this, list, R.layout.cell, new String[] { "image" }, new int[] { R.id.imageView1 }); //为GridView控件添加Adapter gd.setAdapter(simpleAdapter); //为GridView控件添加监听 gd.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { imageView.setImageResource(imageId[position]); } }); }}
运行效果,当点击不同过得图片时,屏幕的下方将显示相应的图片。如下图:
完整例子代码见附件
更多相关文章
- Android(安卓)Activity界面切换添加动画特效
- 三、安卓UI学习(1)
- android用户界面之按钮(Button)教程实例汇
- "Failed to fetch URL https://dl-ssl.google.com/android/repos
- 在Fragment中设置控件点击方法,执行失败。
- Android(安卓)流式布局FlowLayout(搜索历史),多布局、删除、添加
- TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
- Android开发——Android搜索框架(二)
- Android常用控件