现在在做一个小项目,用到了基础的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 });
相关推荐
使用RecyclerView实现GridView和ListView混排的效果
基于 https://github.com/JoanZapata/base-adapter-helper 源码分析与扩展,打造万能的GridView,ListView
GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现
对于一个界面,如果需要设计GridView和ListView两种方式来显示一个列表可以共用一个Adapter和一个布局来实现,这样既可以避免冗余的代码,也使整个处理过程变得更加简单。 4. 通过控制isGridView标签来控制页面的...
使用RecyclerView实现GridView和ListView混排的效果
dialog中镶嵌gridview 和listview 有两个工程
解决scrollView和gridView和ListView嵌套的冲突,动态测量ListView和GridView的高度
自定义gridview和listview实现单选功能实现,通过adapter来控制。
横向滑动菜单gridview+listview 实现了动态生成横向菜单,添加监听器,并且根据点击创建不同的listview
ListView嵌套GridView以及ListVIew嵌套ListVIew还有时间轴效果想要了解更多请前往http://blog.csdn.net/u014452224
Android GridView和ListView的万能适配器源码
在android开发中,GridView、ListView等列表View上拉、下拉进行刷新的控件。
利用gridview+listview调用本机相册文件夹分别展示图片
Android SimpleAdapter的多种显示GridView/ListView
listview和gridview切换,最好的优化
GridView图片墙,ListView嵌入GridView
我自己做的例子,实现的功能,有助于初学者学习
listview/gridview加载显示大量图片,对内存和性能都是严峻的考验。常引起OOM,滚动卡顿等问题。该示例代码完美解决了上述问题。主要用到的技术有: 1. 用MemoryCache缓存图片信息,采用SoftReference方式避免OOM。 ...
里面有2个源码包,分别用两种方式获得系统所安装的应用程序,并用listview和gridview两种布局方式分别显示出来。 通过遍历List,里面的每一个ResolveInfo就是一个应用的 信息,将应用显示出来。
安卓滑动菜单SlidingMenu+Fragment实现类似tabs界面+从SQLIT中提取图片到GridView(ListVIew)