zoukankan      html  css  js  c++  java
  • 【Android】九宫格的实现

    第一步,布局文件


    <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"
        tools:context=".JokeTabHostActivity"
        android:orientation="vertical"
        >
    	
        <GridView 
            android:id="@+id/GridView"
            android:listSelector="@android:color/transparent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:columnWidth="90dp"
            android:gravity="center"
            android:numColumns="auto_fit"
            android:layout_marginTop="10dp"
            android:stretchMode="columnWidth">
        </GridView>
    
    </LinearLayout>
    

    第二步,在你的activity  中调用初始化Grid

    GridView gridview = (GridView) findViewById(R.id.GridView);
    		ArrayList<HashMap<String, Object>> meumList = new ArrayList<HashMap<String, Object>>();
    		for (int i = 1; i < 4; i++) {
    			HashMap<String, Object> map = new HashMap<String, Object>();
    			if (i == 1) {
    				map.put("ItemImage", R.drawable.a1);
    				map.put("ItemText", "文章精选");
    			} else if (i == 2) {
    				map.put("ItemImage", R.drawable.a2);
    				map.put("ItemText", "幽默笑话");
    			} else {
    				map.put("ItemImage", R.drawable.a5);
    				map.put("ItemText", "期待更多");
    			}
    
    			meumList.add(map);
    		}
    
    		SimpleAdapter saItem = new SimpleAdapter(this, meumList, // 数据源
    				R.layout.item, // xml实现
    				new String[] { "ItemImage", "ItemText" }, // 对应map的Key
    				new int[] { R.id.ItemImage, R.id.ItemText }); // 对应R的Id
    																// //添加Item到网格中
    		gridview.setAdapter(saItem); // 添加点击事件
    		gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    			@SuppressWarnings("static-access")
    			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    					long arg3) {
    				int index = arg2 + 1;// id是从0开始的,所以需要+1
    				if (index == 1) {
    					
    						Intent intent = new Intent();
    						intent.setClass(MainActivity.this,
    								CloseTabHostActivity.class);
    						startActivity(intent);
    					
    					
    
    				}
    				if (index == 2) {
    					 Intent intent = new Intent();
    					 intent.setClass(MainActivity.this,
    							 XListViewActivity.class);
    					 startActivity(intent);
    					//showInfo("正在努力码代码中。。。");
    					// finish();//停止当前的Activity,如果不写,则按返回键会跳转回原来的Activity
    				}
    				if (index == 3) {
    					showInfo("期待你的建议,好建议请Q 649175826");
    				}
    			}
    		});


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    一些程序员可以了解的项目/内容
    为人处世的细节(转自知乎):不炫富, 不哭穷
    centos 6.5 搭建ftp 服务器(vsftpd的配置文件说明)
    linux安装脚本
    Sublime Text3 + Golang搭建开发环境
    go语言环境搭建+sublime text3(windows环境下)
    Enterprise Solution 企业管理软件开发框架
    DotnetSpider爬虫采集博客园
    underscore.js 源码
    Xamarin
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4613978.html
Copyright © 2011-2022 走看看