源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android 九宫格的实现方法

  • 时间:2020-03-02 16:44 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android 九宫格的实现方法
1、xml代码:
[u]复制代码[/u] 代码如下:
<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"       android:orientation="vertical"       android:layout_width="fill_parent"       android:layout_height="fill_parent"       android:layout_weight="1.0"       android:background="@drawable/yellow"       >  <ImageView android:id="@+id/ImageView01"             android:layout_width="100sp"             android:layout_height="100sp"             android:layout_gravity="center_vertical"             android:background="@drawable/a"></ImageView>    <GridView      android:id="@+id/gridview"       android:layout_width="wrap_content"         android:layout_height="wrap_content"       android:numColumns="3"       android:verticalSpacing="30dip"       android:horizontalSpacing="10dip"       android:columnWidth="90dip"      android:stretchMode="columnWidth"      android:gravity="center"      android:listSelector="@drawable/c"      >  </GridView>  </LinearLayout>
   其中android:numColumns="3"  代表九宫格的列数  auto_fit时为自动 2、实现代码
[u]复制代码[/u] 代码如下:
public class MainActivity extends Activity {      /** Called when the activity is first created. */      @Override      protected void onCreate(Bundle savedInstanceState) {          // TODO Auto-generated method stub          super.onCreate(savedInstanceState);          // 设置屏幕没有标题          this.requestWindowFeature(Window.FEATURE_NO_TITLE);          // 去掉标题栏          this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,                  WindowManager.LayoutParams.FLAG_FULLSCREEN);          setContentView(R.layout.activity_main);          GridView gridview = (GridView) findViewById(R.id.gridview);          // 创建一个数组列表对象          ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();          /**           * 为每个格子添加内容           */          for (int i = 1; i < 10; i++) {              HashMap<String, Object> map = new HashMap<String, Object>();// 建立hashmap对象              if (i == 1) {                  map.put("ItemImage", R.drawable.g11);                  map.put("ItemText", getResources()                          .getString(R.string.gridview1));              }              if (i == 2) {                  map.put("ItemImage", R.drawable.g12);                  map.put("ItemText", getResources()                          .getString(R.string.gridview2));              }              if (i == 3) {                  map.put("ItemImage", R.drawable.g13);                  map.put("ItemText", getResources()                          .getString(R.string.gridview3));              }              if (i == 4) {                  map.put("ItemImage", R.drawable.g14);                  map.put("ItemText", getResources()                          .getString(R.string.gridview4));              }              if (i == 5) {                  map.put("ItemImage", R.drawable.g15);                  map.put("ItemText", getResources()                          .getString(R.string.gridview5));              }              if (i == 6) {                  map.put("ItemImage", R.drawable.g16);                  map.put("ItemText", getResources()                          .getString(R.string.gridview6));              }              if (i == 7) {                  map.put("ItemImage", R.drawable.g17);                  map.put("ItemText", getResources()                          .getString(R.string.gridview7));              }              if (i == 8) {                  map.put("ItemImage", R.drawable.g18);                  map.put("ItemText", getResources()                          .getString(R.string.gridview8));              }              if (i == 9) {                  map.put("ItemImage", R.drawable.g19);                  map.put("ItemText", getResources()                          .getString(R.string.gridview9));              }              lstImageItem.add(map);          }          /**           * 为GridView建立SimpleAdapter适配器           */          // SimpleAdapter()中的五个参数分别是:第一个context,第二个数据资源,第三个每一个子项的布局文件,第四个每一个子项中的Key数组          // 第五个每一个子项中的Value数组          SimpleAdapter saImageItems = new SimpleAdapter(this, lstImageItem,                  R.layout.grid_item, new String[] { "ItemImage", "ItemText" },                  new int[] { R.id.ItemImage, R.id.ItemText });          gridview.setAdapter(saImageItems);// 添加适配器          gridview.setOnItemClickListener(new ItemClickListener());// 为每一个子项设置监听      }      class ItemClickListener implements OnItemClickListener {          @SuppressWarnings("unchecked")          public void onItemClick(AdapterView<?> arg0,// The AdapterView where the                                                      // click happened                  View arg1,// The view within the AdapterView that was clicked                  int arg2,// The position of the view in the adapter                  long arg3// The row id of the item that was clicked          ) {              HashMap<String, Object> item = (HashMap<String, Object>) arg0                      .getItemAtPosition(arg2);              if (item.get("ItemText").equals(                      getResources().getString(R.string.gridview1))) {                  Toast.makeText(MainActivity.this, R.string.gridview1,                          Toast.LENGTH_LONG).show();              }              if (item.get("ItemText").equals(                      getResources().getString(R.string.gridview2))) {                  Toast.makeText(MainActivity.this, R.string.gridview2,                          Toast.LENGTH_LONG).show();              }              if (item.get("ItemText").equals(                      getResources().getString(R.string.gridview3))) {                  Toast.makeText(MainActivity.this, R.string.gridview3,                          Toast.LENGTH_LONG).show();              }              if (item.get("ItemText").equals(                      getResources().getString(R.string.gridview4))) {                  Toast.makeText(MainActivity.this, R.string.gridview4,                          Toast.LENGTH_LONG).show();              }              if (item.get("ItemText").equals(                      getResources().getString(R.string.gridview5))) {                  Toast.makeText(MainActivity.this, R.string.gridview5,                          Toast.LENGTH_LONG).show();              }              if (item.get("ItemText").equals(                      getResources().getString(R.string.gridview6))) {                  Toast.makeText(MainActivity.this, R.string.gridview6,                          Toast.LENGTH_LONG).show();              }              if (item.get("ItemText").equals(                      getResources().getString(R.string.gridview7))) {                  Toast.makeText(MainActivity.this, R.string.gridview7,                          Toast.LENGTH_LONG).show();              }              if (item.get("ItemText").equals(                      getResources().getString(R.string.gridview8))) {                  Toast.makeText(MainActivity.this, R.string.gridview8,                          Toast.LENGTH_LONG).show();              }              if (item.get("ItemText").equals(                      getResources().getString(R.string.gridview9))) {                  Toast.makeText(MainActivity.this, R.string.gridview9,                          Toast.LENGTH_LONG).show();              }          }      }  }
3、实现效果如图所示 [img]http://files.jb51.net/file_images/article/201305/2013510110212751.png[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部