- 浏览: 637205 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
laj12347:
楼主太给力了
Eclipse设置、调优、使用 -
kunlyy:
楼主太给力了
Eclipse设置、调优、使用 -
knight_black_bob:
mark ~
Eclipse设置、调优、使用 -
hujunxiang:
好全好全~~~
Eclipse设置、调优、使用 -
bugyun:
楼主辛苦了
Eclipse设置、调优、使用
ListView, GridView部分的类层次结构
AbsListView的xml属性
android:listSelector
当前item高亮时,显示的drawable
android:drawSelectorOnTop
是否将selector显示在item的上方
android:fastScrollEnabled
是否启动快速滚动。
android:cacheColorHint
缓存颜色提示。它的值是一个颜色值,如#FFF,#FFFFFF等。
【注意:最好要将这个属性设为@null或这与你背景颜色相同,不然你会看到意想不到的情况,后面有介绍】
设置该值时,就提示列表,现在是绘制在一个纯色的、不透明的背景上的,以让列表优化绘制。
android:scrollingCache
是否使用滚动缓存。
设为true时,会在滚动过程中使用一个drawing cache,这样能使绘制变得更快,但会使用更多的内存。
设为false时,就是不使用缓存。
android:smoothScrollbar
是否平滑滚动条。
设为true时,会更以更精确的方式计算滚动条大小,并且在滚动的过程中,实时的会对滚动条的大小进行计算。(所以如果各条数据的高度不一致时,会很耗性能,最好设为false)。
设为false时,以粗略的方式来计算滚动条的大小(根据当前有多少条数据)。
android:stackFromBottom
是否将内容从最后一个显示到第一个,并将滚动条放在最底部。
android:transcriptMode
改写模式,它的值可以为disabled,normal,alwaysScroll
disabled时,在adapter的内容发生改变时,滚动条不发生变化
normal时,当收到notifyDataSetChanged等提示时,只有内容发生改变时(例如增加了一个条目),滚动条会自动滚到底部
alwaysScroll,当收到notifyDataSetChanged等提示时,不管内容改不改变,滚动条都将滚至底部
android:textFilterEnabled
是否启用内容过滤。设为true时,会根据当前输入的文本,对列表内容进行过滤。
android:cacheColorHint可能会引起的问题
【注意:布局的背景色是绿色,有20dp的padding,ListView没有设置android:cacheColorHint。意外就是拖动时,会出现黑色背景】
引起这个的主要原因就是:
默认的ListItem背景是透明的,它在滚动的过程中会与android:cacheColorHint的颜色值进行混合,在黑色主题下默认的颜色值是#191919。
解决解决办法就是将其设为透明或者与背景相同的颜色
android:cacheColorHint="@null"
GridView
xml属性
android:columnWidth
列宽(一般与numColumns="auto_fit"配合使用,如果numColumns设置为具体的值时,其不起作用)
android:gravity
item在item container中如何放置(类似于TextView的gravity是决定text如何在TextView中如何放置)。
android:horizontalSpacing
水平空白
android:numColumns
列数。其值可以是具体值(如:100dp),也可以值auto_fit(根据GridView的宽度以及columnWidth来确定列数)
android:stretchMode
缩放模式。其值可以为:none, spacingWidth, columnWidht, spacingWidthUniform
android:verticalSpacing
垂直空白
GridView其实也可以表现的像ListView,只要将其列设为1列
使用ArrayAdapter的GridView
使用SimpleAdapter的GridView
ListView
xml属性
android:choiceMode
选择行为的设置。可以设置的值none(默认),singleChoice(一个数据可以处于选中状态),multipleChoice(多个数据可以处于选中状态)
android:divider
数据间的分隔线。颜色或drawable
android:dividerHeight
分隔线的高度。
android:entries
列表的数据。值为一个数组资源值。
android:footerDividersEnabled
footer view间是否使用分隔线
android:headerDividersEnabled
header view间是否使用分隔线
其他参考
ListView应该注意的地方:http://gundumw100.iteye.com/blog/1169065
AbsListView的xml属性
android:listSelector
当前item高亮时,显示的drawable
android:drawSelectorOnTop
是否将selector显示在item的上方
android:fastScrollEnabled
是否启动快速滚动。
android:cacheColorHint
缓存颜色提示。它的值是一个颜色值,如#FFF,#FFFFFF等。
【注意:最好要将这个属性设为@null或这与你背景颜色相同,不然你会看到意想不到的情况,后面有介绍】
设置该值时,就提示列表,现在是绘制在一个纯色的、不透明的背景上的,以让列表优化绘制。
android:scrollingCache
是否使用滚动缓存。
设为true时,会在滚动过程中使用一个drawing cache,这样能使绘制变得更快,但会使用更多的内存。
设为false时,就是不使用缓存。
android:smoothScrollbar
是否平滑滚动条。
设为true时,会更以更精确的方式计算滚动条大小,并且在滚动的过程中,实时的会对滚动条的大小进行计算。(所以如果各条数据的高度不一致时,会很耗性能,最好设为false)。
设为false时,以粗略的方式来计算滚动条的大小(根据当前有多少条数据)。
android:stackFromBottom
是否将内容从最后一个显示到第一个,并将滚动条放在最底部。
android:transcriptMode
改写模式,它的值可以为disabled,normal,alwaysScroll
disabled时,在adapter的内容发生改变时,滚动条不发生变化
normal时,当收到notifyDataSetChanged等提示时,只有内容发生改变时(例如增加了一个条目),滚动条会自动滚到底部
alwaysScroll,当收到notifyDataSetChanged等提示时,不管内容改不改变,滚动条都将滚至底部
android:textFilterEnabled
是否启用内容过滤。设为true时,会根据当前输入的文本,对列表内容进行过滤。
android:cacheColorHint可能会引起的问题
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#0F0" android:paddingTop="20dp" > <ListView android:id="@+id/listview1" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
【注意:布局的背景色是绿色,有20dp的padding,ListView没有设置android:cacheColorHint。意外就是拖动时,会出现黑色背景】
引起这个的主要原因就是:
默认的ListItem背景是透明的,它在滚动的过程中会与android:cacheColorHint的颜色值进行混合,在黑色主题下默认的颜色值是#191919。
解决解决办法就是将其设为透明或者与背景相同的颜色
android:cacheColorHint="@null"
GridView
xml属性
android:columnWidth
列宽(一般与numColumns="auto_fit"配合使用,如果numColumns设置为具体的值时,其不起作用)
android:gravity
item在item container中如何放置(类似于TextView的gravity是决定text如何在TextView中如何放置)。
android:horizontalSpacing
水平空白
android:numColumns
列数。其值可以是具体值(如:100dp),也可以值auto_fit(根据GridView的宽度以及columnWidth来确定列数)
android:stretchMode
缩放模式。其值可以为:none, spacingWidth, columnWidht, spacingWidthUniform
android:verticalSpacing
垂直空白
GridView其实也可以表现的像ListView,只要将其列设为1列
使用ArrayAdapter的GridView
R.layout.activity_gridview_use <merge xmlns:android="http://schemas.android.com/apk/res/android"> <GridView android:id="@+id/gridview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:numColumns="auto_fit" android:columnWidth="100dp" android:horizontalSpacing="20dp" android:verticalSpacing="20dp" /> </merge> public class GridViewUse extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gridview_use); GridView gridView = (GridView) findViewById(R.id.gridview); ArrayAdapter<String> gridAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, android.R.id.text1); gridAdapter.add("one"); gridAdapter.add("two"); gridAdapter.add("three"); gridAdapter.add("four"); gridAdapter.add("five"); gridView.setAdapter(gridAdapter); } }
使用SimpleAdapter的GridView
R.layout.item_image_text <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="fitCenter" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFF" /> </LinearLayout> private static final String[] FROM = {"image", "text"}; private static final int[] TO = {R.id.image, R.id.text}; private static final List<HashMap<String, Object>> DATA = new ArrayList<HashMap<String, Object>>(); public class GridViewUse extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gridview_use); GridView gridView = (GridView) findViewById(R.id.gridview); HashMap<String, Object> item; // item1 item = new HashMap<String, Object>(); item.put("image", R.drawable.ic_launcher); item.put("text", "item1"); DATA.add(item); // item2 item = new HashMap<String, Object>(); item.put("image", R.drawable.ic_launcher); item.put("text", "item2"); DATA.add(item); // item3 item = new HashMap<String, Object>(); item.put("image", R.drawable.ic_launcher); item.put("text", "item3"); DATA.add(item); SimpleAdapter gridAdapter = new SimpleAdapter(getApplicationContext(), DATA, R.layout.item_image_text, FROM, TO); gridView.setAdapter(gridAdapter); } }
ListView
xml属性
android:choiceMode
选择行为的设置。可以设置的值none(默认),singleChoice(一个数据可以处于选中状态),multipleChoice(多个数据可以处于选中状态)
android:divider
数据间的分隔线。颜色或drawable
android:dividerHeight
分隔线的高度。
android:entries
列表的数据。值为一个数组资源值。
android:footerDividersEnabled
footer view间是否使用分隔线
android:headerDividersEnabled
header view间是否使用分隔线
其他参考
ListView应该注意的地方:http://gundumw100.iteye.com/blog/1169065
发表评论
-
Error: Cannot run program "sh": Launching failed
2014-02-20 21:05 3675**** Build of configuration De ... -
通过wifi来使用ADB[转]
2013-11-16 16:09 1499adb除了通过usb连接外,还可以通过tcp连接建立调试,在 ... -
Installation failed due to invalid APK file!
2013-11-16 15:42 8147今天在Eclipse里面测试Android的开发。 写好的代 ... -
QQ2013导致adb不能使用问题的修复[转]
2013-11-16 14:48 1613由于实在没法不用QQ,当QQ哭着闹着要升级到最新版的时候,手 ... -
adt安装慢解决
2013-06-08 14:29 4760安装adt的时候不管时在线安装还是下载下来了离线安装,都不见安 ... -
android 百度地图 wgs84和baidu09坐标转换
2012-11-14 23:35 17651wgs84: gps获取出来的坐标 ... -
hiero使用
2012-11-14 16:51 5136hiero是一个java小程序,能够帮助用户自定义.fnt ... -
分享一个日志类
2012-11-09 02:07 351/*** * <p> 封装日志api的调用 ... -
android相关工具收集
2012-07-30 09:33 1239常用 Java 静态代码分析工具的分析与比较 http://b ... -
proguard使用
2012-07-26 23:39 5329proguard的常见配置参数 -include {filen ... -
一张图让你明白android 九宫格工具使用
2012-07-07 16:13 2669... -
android sdk, adt等的下载
2012-06-28 21:38 16855一些小技巧 在eclipse中 ... -
ProgressBar定制
2011-12-07 09:04 4104ProgressBar的基本使用 可以参考这个:http:// ... -
android 源码 阅读
2011-11-24 14:50 3037虽然android的源码也时不时的会去看,但大部分还是只能看懂 ... -
Dialog定制
2011-11-18 14:47 7172定制dialog的方式 1. 可以通过Theme的方式,and ... -
Toast的使用
2011-10-31 16:12 6303Toast的基本原理其实就是将一个View添加到WindowM ... -
android 开发资料收集
2011-10-28 14:32 1714Android 解屏幕锁与点亮屏幕:键盘锁(KeyguardM ... -
android单元测试
2011-09-09 17:08 0android测试框架涉及的类的UML图 activity测 ... -
android.os包中一些类的使用
2011-09-08 15:09 23561android.os.Build Build.BOARD ... -
android游戏开发学习
2011-09-06 16:55 10971相关资源 2D中如何判断一点在另一个点的那个方位: http: ...
相关推荐
在Android应用开发中,"下拉刷新"和"上拉加载更多"是常见的用户体验功能,尤其是在数据列表展示中,如GridView、ListView和ScrollView等。这些功能使得用户在滚动到列表顶部时可以更新内容(下拉刷新),而在滚动到...
在Android开发中,GridView、ListView和ScrollView是常用的布局控件,用于展示大量数据。而“上拉刷新,下拉加载”功能则是现代移动应用中不可或缺的一部分,它提升了用户体验,允许用户在滚动到底部时加载更多内容...
在Android开发中,ListView和GridView是两种常用的列表控件,它们可以用来展示大量的数据并提供良好的用户体验。当我们在设计一个类似新浪微博或陌陌客户端的界面时,常常会遇到需要在一个ListView中嵌套GridView的...
在Android开发中,GridView和ListView是两种常用的布局控件,它们用于展示大量数据,并且可以进行滚动操作。这两个控件都是AdapterView的子类,因此它们的数据管理方式都是通过Adapter来实现的。在这个项目中,我们...
在Android开发中,ListView和GridView是两种常用的列表控件,用于展示大量的数据。"下拉刷新"和"上拉加载更多"是这两种控件在实际应用中的重要功能,旨在提升用户体验,使用户能够方便地获取最新的数据或者查看更多...
在给定的标题“横向滑动菜单gridview+listview”中,我们可以理解到这个实现是将GridView和ListView结合,创建了一个可横向滑动的菜单系统。这种设计可以有效地展示大量数据,并且通过监听用户的操作来触发相应的...
然而,有时我们的界面设计需要更复杂的布局,比如在一个ListView项中嵌套另一个GridView,或者一个ListView内再嵌套另一个ListView来实现时间轴效果。这涉及到Android UI设计中的自定义适配器和视图复用技术。 首先...
GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现
在Android开发中,ListView和GridView是两种常用的布局控件,用于展示大量的数据。ListView以其滚动性能和节省内存的特性,常用于长列表的显示;而GridView则以网格形式展示数据,适合图片或小图标为主的布局。当...
GridView图片墙,ListView嵌入GridView
在Android开发中,ListView和GridView是两种常用的布局控件,它们用于展示大量数据。ListView以其垂直滚动和可自定义项视图的特点,而GridView则以网格形式排列元素,适合显示多列、等宽或等高的内容。当需要在一个...
在Android应用开发中,RecyclerView是取代ListView和GridView的现代组件,它提供了更高的性能和更灵活的布局管理。本文将深入探讨如何使用RecyclerView实现GridView和ListView混排的效果,这对于创建复杂和自定义的...
在Android开发中,ListView和GridView是两种常用的布局控件,分别用于展示长列表和多列网格数据。ListView具有良好的滚动性能,适合展示大量数据,而GridView则常用于展示图片、小图标等,形成整齐的网格布局。当...
在Android开发中,GridView和ListView是两种常用的布局控件,用于展示数据集合。在这个项目"gridview+listview调用本机相册文件夹分别展示"中,开发者旨在利用这两个控件来显示用户设备上的相册文件夹中的图片。下面...
在Android开发中,ScrollView、GridView和ListView是常用的布局组件,它们各自有特定的用途。然而,当这些组件被嵌套使用时,可能会遇到一些问题,尤其是冲突问题。本篇文章将详细探讨如何解决ScrollView与GridView...
在Android开发中,ListView和GridView是两种常用的列表控件,它们可以用来展示大量数据并进行交互。当需要在一个列表项中展示多个子项时,就会用到ListView嵌套GridView的布局方式。本示例提供了“listView嵌套...
在Android开发中,SimpleAdapter是一种常用的适配器,它用于将数据绑定到视图上,如GridView或ListView。这些组件是Android中展示列表数据的主要方式,适用于创建各种类型的列表应用。下面将详细介绍如何使用...
在Android开发中,ListView和GridView是两种常用的列表控件,它们用于展示大量数据。ListView以其垂直滚动特性,适合展示一维列表,而GridView则通过网格布局展现二维数据。然而,在某些场景下,我们可能需要在一个...
当需要在GridView和ListView之间切换以显示相同的数据集时,可以利用同一个布局和适配器(Adapter)来达到目的,从而提高代码复用和效率。下面我们将深入探讨如何实现这一功能。 1. **布局设计**: 在XML布局文件...
在Android开发中,ListView和GridView是两种非常常用的控件,它们用于展示大量数据,并且具有良好的滚动性能。这两个组件在用户界面设计中扮演着至关重要的角色,尤其在展示列表或网格形式的数据时。本篇文章将深入...