zoukankan      html  css  js  c++  java
  • Android控件学习笔记之 GridView(实现九宫格)

    实现九宫格

    Main.java

    package cn.test;

    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;

    public class Main extends Activity {
        
    private Button btn_viewItemAndText;
        
    private Button btn_viewGridViewList;
        @Override
        
    public void onCreate(Bundle savedInstanceState) {
            
    super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            initControl();
            setControlListener();
        }
        
        
    /**
         * 初始化控件
         
    */
        
    private void initControl(){
            btn_viewItemAndText
    =(Button)findViewById(R.id.btn_viewItemAndText);
            btn_viewGridViewList
    =(Button)findViewById(R.id.btn_viewGridViewList);
        }
        
        
    /**
         * 增加控件监听
         
    */
        
    private void setControlListener(){
            btn_viewItemAndText.setOnClickListener(onClickViewItemAndTextListener);
            btn_viewGridViewList.setOnClickListener(onCLickViewGridViewListListener);
        }
        
        
    /**
         * 图文列表按钮事件
         
    */
        
    private View.OnClickListener onClickViewItemAndTextListener = new View.OnClickListener() {
            @Override
            
    public void onClick(View v) {
                Log.v(
    "OnClick ""btn_viewItemAndText");
                Intent intent 
    = new Intent(Main.this, ItemAndTextListView.class);
                startActivity(intent);
            }
        };
        
        
    private View.OnClickListener onCLickViewGridViewListListener=new View.OnClickListener() {
            @Override
            
    public void onClick(View v) {
                Log.v(
    "OnClick ""btn_viewGridViewList");
                Intent intent 
    = new Intent(Main.this, GridViewList.class);
                startActivity(intent);
            }
        };
    }
    GridViewList.java

    package cn.test;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.GridView;
    import android.widget.SimpleAdapter;

    public class GridViewList extends Activity {
        
    private GridView gridview;

        
    public void onCreate(Bundle savedInstanceState) {
            
    super.onCreate(savedInstanceState);
            setContentView(R.layout.gridview);
            initControl();
        }
        
        
    /**
         * 初始加载控件
         
    */
        
    private void initControl(){
            SimpleAdapter adapter 
    = new SimpleAdapter(this, getData(), R.layout.gridviewitem, new String[]{"ItemImage""ItemText"}, new int[]{R.id.ItemImage, R.id.ItemText});
            gridview 
    = (GridView)findViewById(R.id.gridView1);
            gridview.setAdapter(adapter);
        }

        
    /**
         * 模拟数据
         * 
    @return
         
    */
        
    private List<Map<String, Object>> getData() {
            List
    <Map<String, Object>> items = new ArrayList<Map<String, Object>>();
            
    for (int i = 0; i <20; i++) {
                Map
    <String, Object> item = new HashMap<String, Object>();
                item.put(
    "ItemImage", R.drawable.icon);
                item.put(
    "ItemText""九宫项目" + i);
                items.add(item);
            }
            
    return items;

        }
    }

    gridview.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      
    xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation
    ="vertical"
      android:layout_width
    ="match_parent"
      android:layout_height
    ="match_parent">

    <GridView android:layout_height="wrap_content" android:id="@+id/gridView1"
        android:layout_width
    ="match_parent" android:numColumns="auto_fit"
        android:horizontalSpacing
    ="10dp" android:verticalSpacing="10dp"
        android:columnWidth
    ="90dp" android:stretchMode="columnWidth"
        android:gravity
    ="center">

    </GridView>
        
    </LinearLayout>

    gridviewitem.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
      
    xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation
    ="vertical"
      android:layout_width
    ="match_parent"
      android:layout_height
    ="match_parent">
        
    <ImageView android:layout_width="wrap_content"
            android:layout_height
    ="wrap_content" android:id="@+id/ItemImage"></ImageView>
        
    <TextView android:layout_height="wrap_content" android:id="@+id/ItemText"
            android:layout_width
    ="wrap_content" android:layout_below="@+id/ItemImage"></TextView>
        
    </RelativeLayout>
    AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package
    ="cn.test"
          android:versionCode
    ="1"
          android:versionName
    ="1.0">
        
    <uses-sdk android:minSdkVersion="8" />

        
    <application android:icon="@drawable/icon" android:label="@string/app_name">
            
    <activity android:name=".Main"
                      android:label
    ="@string/app_name">
                
    <intent-filter>
                    
    <action android:name="android.intent.action.MAIN" />
                    
    <category android:name="android.intent.category.LAUNCHER" />
                
    </intent-filter>
            
    </activity>
     
              
    <activity android:name=".ItemAndTextListView"
                      android:label
    ="@string/app_name">
                
    <intent-filter>
                    
    <action android:name="android.intent.action.itemAndTextListView" />
                    
    <category android:name="android.intent.category.DEFAULT" />
                
    </intent-filter>
            
    </activity>
             
    <activity android:name=".GridViewList"
                      android:label
    ="@string/app_name">
                
    <intent-filter>
                    
    <action android:name="android.intent.action.gridViewList" />
                    
    <category android:name="android.intent.category.DEFAULT" />
                
    </intent-filter>
            
    </activity>
        
    </application>
    </manifest>
  • 相关阅读:
    angularjs的$on、$emit、$broadcast
    angularjs中的路由介绍详解 ui-route(转)
    ionic入门教程-ionic路由详解(state、route、resolve)(转)
    Cocos Creator 加载使用protobuf第三方库,因为加载顺序报错
    Cocos Creator 计时器错误 cc.Scheduler: Illegal target which doesn't have uuid or instanceId.
    Cocos Creator 构造函数传参警告 Can not instantiate CCClass 'Test' with arguments.
    Cocos Creator 对象池NodePool
    Cocos Creator 坐标系 (convertToWorldSpaceAR、convertToNodeSpaceAR)
    Cocos Creator 常驻节点addPersistRootNode
    Cocos Creator 配合Tiled地图的使用
  • 原文地址:https://www.cnblogs.com/skyblue/p/2159200.html
Copyright © 2011-2022 走看看