必威体育Betway必威体育官网
当前位置:首页 > IT技术

android组件GridView简单使用

时间:2019-10-19 03:11:05来源:IT技术作者:seo实验室小编阅读:55次「手机版」
 

gridview

gridviewlistview的用法基本一致,不同的只是布局。当我们打开手机,应用会以宫格显示,那就是GridView。

代码形式展示给大家,适配器使用SimpleAdapter,熟悉了适配器的用法,就只需要注意几个GridView的属性即可。

Activity类

public class MainActivity extends Activity {
    private GridView gridView;
    private List<Map<String, Object>> dataList;
    private SimpleAdapter adapter;

    @Override
    protected void onCreate(Bundle savedinstanceState) {
        super.onCreate(savedInstanceState);
        setcontentView(R.layout.activity_main);
        gridView = (GridView) findViewById(R.id.gridview);
        //初始化数据
        initData();

        String[] from={"img","text"};

        int[] to={R.id.img,R.id.text};

        adapter=new SimpleAdapter(this, dataList, R.layout.gridview_item, from, to);

        gridView.setAdapter(adapter);

        gridView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
            alertdialog.builder builder= new AlertDialog.Builder(MainActivity.this);
            builder.settitle("提示").setmessage(dataList.get(arg2).get("text").toString()).create().show();
            }
        });
    }

    void initData() {
        //图标
        int icno[] = { R.drawable.i1, R.drawable.i2, R.drawable.i3,
                R.drawable.i4, R.drawable.i5, R.drawable.i6, R.drawable.i7,
                R.drawable.i8, R.drawable.i9, R.drawable.i10, R.drawable.i11, R.drawable.i12 };
        //图标下的文字
        String name[]={"时钟","信号","宝箱","秒钟","大象","FF","记事本","书签","印象","商店","主题","迅雷"};
        dataList = new ArrayList<Map<String, Object>>();
        for (int i = 0; i <icno.length; i++) {
            Map<String, Object> map=new HashMap<String, Object>();
            map.put("img", icno[i]);
            map.put("text",name[i]);
            dataList.add(map);
        }
    }

}

GridView主布局文件activity_main.xml

<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"
    android:background="#000"
    tools:context="com.example.l7.MainActivity" >
    <GridView
        android:id="@+id/gridview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnWidth="80dp"
        android:stretchmode="spacingWidthUniform"
        android:numColumns="3" 
         />
</LinearLayout>

列表项布局gridview_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/img"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_margintop="10dp" 
        android:src="@drawable/ic_launcher" />
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="2dp" 
        android:layout_gravity="center"
        android:textcolor="#FFF"
        android:text="文字"
        />

</LinearLayout>

效果图

这里写图片描述

gridview的android:stretchMode

stretchMode 可选值:

columnWidth 如果列有空闲空间就加宽列

spacingWidth 如果列有空闲空间就加宽各列间距

none 没有任何动作

spacingWidthUniform 平均分配空间

上图使用spacingWidthUniform

none效果

这里写图片描述

columnWidth效果

这里写图片描述

spacingWidth效果

这里写图片描述

相关阅读

Android手机怎么root?root有哪些风险?

在中国大陆生产的手机都不会预装Google服务框架,导致与Google的一系列服务都不能正常使用。而很多时候手动安装Google服务框架需要

使用adb logcat命令显示Android设备上的Log日志

使用adb logcat命令显示Android设备上的Log日志 有时候我们在手机程序上的日志要在其他地方调试,然后要看里面的Log日志。 本文教

详解android:scaleType属性

Android:scaleType是控制图片如何resized/moved来匹对ImageView的size。 ImageView.ScaleType / android:scaleType值的意义区别:

Android图层妙用之layer-list的基本使用介绍

本文转载自layer-list – layer-list的基本使用介绍 1. layer-list 是啥?有啥作用? 1.1 layer-list 是什么? 简单理解,layer 是

Android:Preference

在Android源码的中,很多UI布局采用了Preference的布局方式。Preference的布局与view的布局基本相似,其布局文件位于res/xml中。在Pr

分享到:

栏目导航

推荐阅读

热门阅读