`
bell0901
  • 浏览: 28575 次
社区版块
存档分类
最新评论

GridView和ListView简单使用

阅读更多

  现在在做一个小项目,用到了基础的GridView和ListView。在此做一个记录。项目的主界面是用DrawerLayout实现侧滑,顶部栏使用ToolBar,SlidingTabLayout和ViewPager实现左右切换页卡,多个Fragment通过Adapter适配到ViewPager上。其中两个页卡就是用的GridView和ListView。其他控件会另起新的随笔来写。

  两个Tab的效果如下

    

  比较简单直接上代码。

  第一个Tab,布局就是一个GridView,里面的item是ImageView加TextView

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/gridview1"
    android:numColumns="auto_fit"
    android:columnWidth="90dp"
    android:stretchMode="columnWidth"
    android:gravity="center"
    android:background="@color/background_material_light"
    >
</GridView>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:paddingRight="1dp"
    >
    
    <ImageView
        android:id="@+id/itemImage"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:scaleType="centerCrop"
        android:layout_centerHorizontal="true"/>
    <TextView
        android:id="@+id/itemText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/itemImage"
        android:layout_centerHorizontal="true"
        android:text="textview01"
        />

</RelativeLayout>

  GridView里有几个属性:

  android:numColumns="auto_fit"          //列数自动(一行显示几个)
    android:columnWidth="90dp"        //每列宽度
    android:stretchMode="columnWidth"    //缩放与列宽同步

  第二个Tab,ListView布局

<?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">

    <ListView
        android:id="@+id/second_listView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </ListView>
</LinearLayout>
<?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"
    android:padding="3dip">

    <ImageView
        android:id="@+id/second_itemImage"
        android:layout_width="30dp"
        android:layout_height="30dp"
        />
    <TextView
        android:id="@+id/second_itemText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/second_itemImage"
        android:layout_marginLeft="10dip"
        />
</RelativeLayout>

 

  往GridView里放数据,用了SimpleAdapter。ListView里放数据也是同样的代码

 1      GridView gridView = (GridView) view.findViewById(R.id.gridview1);
 2 
 3         ArrayList<HashMap<String, Object>> listImageItem = new ArrayList<>();
 4         for (int i = 0; i <100; i++) {
 5             HashMap<String, Object> map = new HashMap<>();
 6             map.put("ItemImage", R.mipmap.ic_launcher);
 7             map.put("ItemText", "NO." + i);
 8             listImageItem.add(map);
 9         }
10 
11         SimpleAdapter adapter = new SimpleAdapter(getActivity(), listImageItem,
12                 R.layout.item_picture, new String[]{"ItemImage","ItemText"},
13                 new int[]{R.id.itemImage, R.id.itemText});
14         gridView.setAdapter(adapter);
15         gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
16             @Override
17             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
18                 TextView content = (TextView) view.findViewById(R.id.itemText);
19 
20             }
21         });

 

0
1
分享到:
评论

相关推荐

    Android万能GridView和ListView

    在Android开发中,GridView和ListView是两种常用的布局控件,它们用于展示大量数据,并且可以进行滚动操作。这两个控件都是AdapterView的子类,因此它们的数据管理方式都是通过Adapter来实现的。在这个项目中,我们...

    Android-使用RecyclerView实现GridView和ListView混排的效果

    本文将深入探讨如何使用RecyclerView实现GridView和ListView混排的效果,这对于创建复杂和自定义的用户界面非常有用。 首先,RecyclerView的核心概念是Adapter和ViewHolder。Adapter负责填充数据并将其呈现到视图中...

    GridView和ListView的布局实现

    GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现

    使用RecyclerView实现GridView和ListView混排的效果

    本教程将深入探讨如何使用RecyclerView实现GridView和ListView混排的效果,这在设计复杂界面时尤其有用。 首先,RecyclerView的基本用法是通过创建一个Adapter来绑定数据,并通过LayoutManager来决定视图的布局方式...

    解决scrollView和gridView和ListView嵌套的冲突

    在Android开发中,ScrollView、GridView和ListView是常用的布局组件,它们各自有特定的用途。然而,当这些组件被嵌套使用时,可能会遇到一些问题,尤其是冲突问题。本篇文章将详细探讨如何解决ScrollView与GridView...

    横向滑动菜单gridview+listview

    对于初学者来说,使用GridView和ListView结合的方式是一个很好的起点,因为它相对简单,易于理解和实现。 总结起来,这个项目涉及了Android中的基本视图组件(GridView和ListView)、动态数据加载、事件监听以及...

    Android Activity在GridView和ListView之间切换使用一个布局实现的方法

    当需要在GridView和ListView之间切换以显示相同的数据集时,可以利用同一个布局和适配器(Adapter)来达到目的,从而提高代码复用和效率。下面我们将深入探讨如何实现这一功能。 1. **布局设计**: 在XML布局文件...

    ListView嵌套GridView以及ListVIew嵌套ListVIew

    总的来说,ListView嵌套GridView和ListView是Android开发中实现复杂布局的有效手段,它们结合自定义适配器和View复用机制,能够帮助开发者构建出丰富多样的用户界面。而appcompat_v7库则为开发者提供了兼容性和功能...

    dialog镶嵌gridview和listview

    在标题“dialog镶嵌gridview和listview”中,我们探讨的是如何在`Dialog`中嵌入两种常见的数据展示控件:`GridView`和`ListView`。这两种控件都是用来展示列表数据,但它们的布局方式有所不同。 ` GridView` 是一个...

    gridview和listview实现单选功能

    自定义gridview和listview实现单选功能实现,通过adapter来控制。

    gridview+listview调用本机相册文件夹分别展示

    综上所述,这个项目涉及了Android开发中的多个关键知识点,包括GridView和ListView的使用,本地相册的访问,图片加载库的集成,数据适配器的设计,以及性能优化策略。通过这些技术的结合,可以实现一个功能完善的...

    android的listview和gridView的例子

    在Android开发中,ListView和GridView是两种非常常用的控件,它们用于展示大量数据,并且具有良好的滚动性能。这两个组件在用户界面设计中扮演着至关重要的角色,尤其在展示列表或网格形式的数据时。本篇文章将深入...

    GridView.ListView等列表控件下拉.上拉刷新控件

    在Android应用开发中,列表控件如GridView和ListView是常用的数据展示组件,它们可以有效地展示大量数据并提供良好的用户体验。然而,随着移动设备的普及,用户对于应用的交互性有了更高的要求,比如在滚动到列表...

    GridViewAndListView

    当ScrollView和GridView或ListView结合使用时,冲突就产生了。因为ScrollView试图管理整个视图的滚动,而GridView或ListView也有自己的滚动逻辑,这就导致了滚动混乱。解决这个问题有几种常见方法: 1. 使用...

    Android SimpleAdapter的多种显示GridView/ListView

    下面将详细介绍如何使用SimpleAdapter以及它在GridView和ListView中的应用。 首先,`SimpleAdapter`是`BaseAdapter`的一个子类,它的主要优点在于简洁和快速地设置数据。通过提供一个数据列表(通常是一个`List, ?&gt;...

    gridview切换listview

    在Android开发中,GridView和ListView是两种常用的布局控件,它们都用于展示可滚动的数据列表。GridView呈现数据为网格形式,而ListView则是一维的单列显示。在某些场景下,我们可能需要根据用户交互或者特定需求将...

    GridView改成listView

    在Android开发中,GridView和ListView是两种常用的布局控件,用于展示数据集合。它们都是基于Adapter的视图组件,能够动态加载数据并将其呈现为网格或列表形式。本篇文章将详细探讨如何将GridView转换为ListView,...

    Listview嵌套Gridview-demo

    在Android开发中,ListView和GridView是两种常用的布局控件,用于展示大量的数据。ListView以其滚动性能和节省内存的特性,常用于长列表的显示;而GridView则以网格形式展示数据,适合图片或小图标为主的布局。当...

    listview中嵌套gridview

    1. Android的ListView和GridView布局控件的理解与使用。 2. 自定义Adapter,包括ListViewAdapter和GridViewAdapter。 3. ViewHolder模式的应用,提高列表滚动性能。 4. 嵌套布局的滚动同步处理。 5. 数据绑定和事件...

    listview和gridview切换

    在Android开发中,ListView和GridView是两种常用的布局控件,用于展示大量的数据列表。它们都是AdapterView的子类,能够动态加载数据并显示。本文将深入探讨这两种视图的切换与优化。 首先,ListView是最常见的列表...

Global site tag (gtag.js) - Google Analytics