是个传颂厨

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

哇哦。。。这个布局比较常见,大概。。。就跟系统的各个软件布局一样。

学这个的时候出了点小差错,一个莫名其妙的失误排查了一个多小时。。。

 

上个结果先,很丑不要介意。

首先,layout中新建一个main,实例化gridview

<?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" >
    <GridView 
        android:id="@+id/gridView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:numColumns="2"
        android:horizontalSpacing="15dp"
        android:verticalSpacing="15dp"
        >
    </GridView><!-- 到三开始,每一行几列,两列之间间距,两行之间间距 -->
    
</LinearLayout>

然后创建item文件,写出每一个的样式

<?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"
    android:gravity="center"
    android:background="#000000"
     >
    
    <ImageView 
        android:src="@drawable/one"
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
    <TextView 
        android:id="@+id/text"
        android:layout_marginTop="6dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#ffffff"
        android:text="神户小鸟"
        />
</LinearLayout>

然后去主文件中实例化修改。。。

package com.rewrite;

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 MainActivity extends Activity {

    private GridView gridView;//初始化
    private SimpleAdapter adapter;//初始化简单适配器
    private List<Map<String, Object>> dataList;//声明数据源 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);    
        setContentView(R.layout.main);
        gridView=(GridView) findViewById(R.id.gridView);
        dataList=new ArrayList<Map<String,Object>>();//新建数据源
        adapter=new SimpleAdapter(this, getData(), R.layout.item, new String[]{"image","text"}, new int[]{R.id.image,R.id.text});
      //新建适配器,各参数详见简单适配器
        gridView.setAdapter(adapter);//GridView加载适配器
    }

    //获得数据方法
    private List<Map<String, Object>> getData() {
        
        int[] drawable = { R.drawable.one,R.drawable.two,R.drawable.three,
                R.drawable.four,R.drawable.five,R.drawable.six };
        String[] iconName = { "神户小鸟","千里朱音","凤千早","中津静流","此花露西娅","篝" };
        for (int i = 0; i < drawable.length; i++) {
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("image", drawable[i]);
            map.put("text", iconName[i]);
            dataList.add(map);
        }
                return dataList;
    }
}

唉,人太笨了没救了。。。改了那么长时间才对,不过改对了就好。。。

 

posted on 2016-07-30 01:07  是个传颂厨  阅读(255)  评论(0编辑  收藏  举报