- 浏览: 632416 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
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 3586**** Build of configuration De ... -
通过wifi来使用ADB[转]
2013-11-16 16:09 1432adb除了通过usb连接外,还可以通过tcp连接建立调试,在 ... -
Installation failed due to invalid APK file!
2013-11-16 15:42 8067今天在Eclipse里面测试Android的开发。 写好的代 ... -
QQ2013导致adb不能使用问题的修复[转]
2013-11-16 14:48 1559由于实在没法不用QQ,当QQ哭着闹着要升级到最新版的时候,手 ... -
adt安装慢解决
2013-06-08 14:29 4694安装adt的时候不管时在线安装还是下载下来了离线安装,都不见安 ... -
android 百度地图 wgs84和baidu09坐标转换
2012-11-14 23:35 17532wgs84: gps获取出来的坐标 ... -
hiero使用
2012-11-14 16:51 5060hiero是一个java小程序,能够帮助用户自定义.fnt ... -
分享一个日志类
2012-11-09 02:07 351/*** * <p> 封装日志api的调用 ... -
android相关工具收集
2012-07-30 09:33 1196常用 Java 静态代码分析工具的分析与比较 http://b ... -
proguard使用
2012-07-26 23:39 5257proguard的常见配置参数 -include {filen ... -
一张图让你明白android 九宫格工具使用
2012-07-07 16:13 2606... -
android sdk, adt等的下载
2012-06-28 21:38 16800一些小技巧 在eclipse中 ... -
ProgressBar定制
2011-12-07 09:04 4060ProgressBar的基本使用 可以参考这个:http:// ... -
android 源码 阅读
2011-11-24 14:50 2949虽然android的源码也时不时的会去看,但大部分还是只能看懂 ... -
Dialog定制
2011-11-18 14:47 7114定制dialog的方式 1. 可以通过Theme的方式,and ... -
Toast的使用
2011-10-31 16:12 6208Toast的基本原理其实就是将一个View添加到WindowM ... -
android 开发资料收集
2011-10-28 14:32 1671Android 解屏幕锁与点亮屏幕:键盘锁(KeyguardM ... -
android单元测试
2011-09-09 17:08 0android测试框架涉及的类的UML图 activity测 ... -
android.os包中一些类的使用
2011-09-08 15:09 23500android.os.Build Build.BOARD ... -
android游戏开发学习
2011-09-06 16:55 10889相关资源 2D中如何判断一点在另一个点的那个方位: http: ...
相关推荐
Android 下拉刷新 上拉加载更过 GridView ListView ScorllView
android studio项目,支持GridView ListView scrollView等多种view上拉刷新,下拉加载的功能
ListView嵌套GridView,仿新浪微博,陌陌客户端
基于 https://github.com/JoanZapata/base-adapter-helper 源码分析与扩展,打造万能的GridView,ListView
listview和girdview下拉刷新,上拉加载更多,GridviewTest这个类是gridview的刷新加载效果,MainActivity这个类是listview的效果
横向滑动菜单gridview+listview 实现了动态生成横向菜单,添加监听器,并且根据点击创建不同的listview
ListView嵌套GridView以及ListVIew嵌套ListVIew还有时间轴效果想要了解更多请前往http://blog.csdn.net/u014452224
GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现 GridView和ListView的布局实现
使用RecyclerView实现GridView和ListView混排的效果
GridView图片墙,ListView嵌入GridView
The DataPager is a custom control that attaches to a data control such as a GridView ListView Datalist Repeater allows paging on that control The DataPager itself displays the "First" "...
利用gridview+listview调用本机相册文件夹分别展示图片
Android SimpleAdapter的多种显示GridView/ListView
对于一个界面,如果需要设计GridView和ListView两种方式来显示一个列表可以共用一个Adapter和一个布局来实现,这样既可以避免冗余的代码,也使整个处理过程变得更加简单。 4. 通过控制isGridView标签来控制页面的...
Listview嵌套Gridview-demo
dialog中镶嵌gridview 和listview 有两个工程
listview/gridview加载显示大量图片,对内存和性能都是严峻的考验。常引起OOM,滚动卡顿等问题。该示例代码完美解决了上述问题。主要用到的技术有: 1. 用MemoryCache缓存图片信息,采用SoftReference方式避免OOM。 ...
listView 嵌套gridView android ,完全显示gridView的内容,滚动不卡顿
自定义gridview和listview实现单选功能实现,通过adapter来控制。
ListView嵌套GridView解决方案