现在在做一个小项目,用到了基础的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 });
相关推荐
在Android开发中,GridView和ListView是两种常用的布局控件,它们用于展示大量数据,并且可以进行滚动操作。这两个控件都是AdapterView的子类,因此它们的数据管理方式都是通过Adapter来实现的。在这个项目中,我们...
本文将深入探讨如何使用RecyclerView实现GridView和ListView混排的效果,这对于创建复杂和自定义的用户界面非常有用。 首先,RecyclerView的核心概念是Adapter和ViewHolder。Adapter负责填充数据并将其呈现到视图中...
GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现
本教程将深入探讨如何使用RecyclerView实现GridView和ListView混排的效果,这在设计复杂界面时尤其有用。 首先,RecyclerView的基本用法是通过创建一个Adapter来绑定数据,并通过LayoutManager来决定视图的布局方式...
在Android开发中,ScrollView、GridView和ListView是常用的布局组件,它们各自有特定的用途。然而,当这些组件被嵌套使用时,可能会遇到一些问题,尤其是冲突问题。本篇文章将详细探讨如何解决ScrollView与GridView...
对于初学者来说,使用GridView和ListView结合的方式是一个很好的起点,因为它相对简单,易于理解和实现。 总结起来,这个项目涉及了Android中的基本视图组件(GridView和ListView)、动态数据加载、事件监听以及...
当需要在GridView和ListView之间切换以显示相同的数据集时,可以利用同一个布局和适配器(Adapter)来达到目的,从而提高代码复用和效率。下面我们将深入探讨如何实现这一功能。 1. **布局设计**: 在XML布局文件...
总的来说,ListView嵌套GridView和ListView是Android开发中实现复杂布局的有效手段,它们结合自定义适配器和View复用机制,能够帮助开发者构建出丰富多样的用户界面。而appcompat_v7库则为开发者提供了兼容性和功能...
在标题“dialog镶嵌gridview和listview”中,我们探讨的是如何在`Dialog`中嵌入两种常见的数据展示控件:`GridView`和`ListView`。这两种控件都是用来展示列表数据,但它们的布局方式有所不同。 ` GridView` 是一个...
自定义gridview和listview实现单选功能实现,通过adapter来控制。
综上所述,这个项目涉及了Android开发中的多个关键知识点,包括GridView和ListView的使用,本地相册的访问,图片加载库的集成,数据适配器的设计,以及性能优化策略。通过这些技术的结合,可以实现一个功能完善的...
在Android开发中,ListView和GridView是两种非常常用的控件,它们用于展示大量数据,并且具有良好的滚动性能。这两个组件在用户界面设计中扮演着至关重要的角色,尤其在展示列表或网格形式的数据时。本篇文章将深入...
在Android应用开发中,列表控件如GridView和ListView是常用的数据展示组件,它们可以有效地展示大量数据并提供良好的用户体验。然而,随着移动设备的普及,用户对于应用的交互性有了更高的要求,比如在滚动到列表...
当ScrollView和GridView或ListView结合使用时,冲突就产生了。因为ScrollView试图管理整个视图的滚动,而GridView或ListView也有自己的滚动逻辑,这就导致了滚动混乱。解决这个问题有几种常见方法: 1. 使用...
下面将详细介绍如何使用SimpleAdapter以及它在GridView和ListView中的应用。 首先,`SimpleAdapter`是`BaseAdapter`的一个子类,它的主要优点在于简洁和快速地设置数据。通过提供一个数据列表(通常是一个`List, ?>...
在Android开发中,GridView和ListView是两种常用的布局控件,它们都用于展示可滚动的数据列表。GridView呈现数据为网格形式,而ListView则是一维的单列显示。在某些场景下,我们可能需要根据用户交互或者特定需求将...
在Android开发中,GridView和ListView是两种常用的布局控件,用于展示数据集合。它们都是基于Adapter的视图组件,能够动态加载数据并将其呈现为网格或列表形式。本篇文章将详细探讨如何将GridView转换为ListView,...
在Android开发中,ListView和GridView是两种常用的布局控件,用于展示大量的数据。ListView以其滚动性能和节省内存的特性,常用于长列表的显示;而GridView则以网格形式展示数据,适合图片或小图标为主的布局。当...
1. Android的ListView和GridView布局控件的理解与使用。 2. 自定义Adapter,包括ListViewAdapter和GridViewAdapter。 3. ViewHolder模式的应用,提高列表滚动性能。 4. 嵌套布局的滚动同步处理。 5. 数据绑定和事件...
在Android开发中,ListView和GridView是两种常用的布局控件,用于展示大量的数据列表。它们都是AdapterView的子类,能够动态加载数据并显示。本文将深入探讨这两种视图的切换与优化。 首先,ListView是最常见的列表...