九宫格布局

布局activity_main.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"    tools:context=".MainActivity" >    <GridView        android:id="@+id/gridView1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true"        android:numColumns="3" ><!-- 列数  -->    </GridView></RelativeLayout>


MainActivity.java

package com.yqy.yqy_gridviewtest;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.GridView;import android.widget.SimpleAdapter;import android.widget.Toast;public class MainActivity extends Activity {GridView gridview;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gridview = (GridView) findViewById(R.id.gridView1);initGridView();}private void initGridView() {// 生成动态数组,并且转入数据ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();for (int i = 0; i < 9; i++) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("tv", i+1);// 按序号做imglstImageItem.add(map);}SimpleAdapter sa = new SimpleAdapter(this, lstImageItem,R.layout.item_gridview, new String[] { "tv" },new int[] { R.id.tv });gridview.setAdapter(sa);gridview.setOnItemClickListener(new ItemClickListener());}class ItemClickListener implements OnItemClickListener {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {@SuppressWarnings("unchecked")HashMap<String, Object> item = (HashMap<String, Object>) arg0.getItemAtPosition(arg2);int index = (Integer) item.get("tv");Toast.makeText(MainActivity.this, "点击:"+index, Toast.LENGTH_SHORT).show();}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


item_gridview.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <TextView        android:id="@+id/tv"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:layout_centerVertical="true"        android:text="TextView" /></RelativeLayout>


这就ok了,如果想要图片文字并存,修改item_gridview.xml ok了

此例下载地址:android gridview 九宫格 demo


<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <TextView        android:id="@+id/tv"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:layout_centerVertical="true"        android:text="TextView" /></RelativeLayout>


更多相关文章

  1. 箭头函数的基础使用
  2. Android(安卓)CreateBitmap
  3. Android(安卓)UI开发第五篇——自定义列表
  4. Android中Bitmap对象和字节流之间的相互转换
  5. Android(安卓)P SystemUi启动流程
  6. Android热更新之so库的热更新
  7. Android视频采集
  8. Android视频采集
  9. Android视频采集

随机推荐

  1. NoSQL MongoDB
  2. 谷歌发布Skaffold,简化Kubernetes应用程序
  3. TIMESTAMP with implicit DEFAULT value
  4. 代码管理平台SVN
  5. 基于内阻增加和容量衰减双重标定的锂电池
  6. 代码管理平台GIT
  7. 实现错误日志记录
  8. SSH-Agent实现多台机器登陆
  9. 代码管理平台GITLAB
  10. 自动化运维管理平台OpsManage部署