摘要: 问题:最近在运用ListView做刷新操作时,由于刷新不及时,导致列表布局混乱(前一行的某些布局元素被画在了后一行)。解决方案:1、首先想到需要进行重画,于是调用其invalidate()方法,不管用,后来发现用手指触摸时马上能恢复正常布局,于是:2、调用ListView的setSelected(!ListView.isSelected())方法,这样就能及时刷新布局,目前还不知道具体的原理,先贴下setSelected()的源代码,供后续分析:(URL: https://github.com/android/platform_frameworks_base/blob/master/core/ 阅读全文
posted @ 2012-11-05 18:47 i小不 阅读(439) 评论(0) 推荐(0)
摘要: SearchView是android中一个搜索框组件,它不是一个单独的view,而是一个LinearLayout布局,包括表示Search图标和清除图标等其它图标的imageView、具有下拉建议列表的AutoCompleteTextView等,有时候我们需要对SearchView做一些特定的修改,而SearchView本身却又没有提供相关的接口,这时需要对SearchView进行自顶向下的深度遍历,提取它的每一个子孙view,如果只要对特定类型的view进行修改,只需根据view的类型来提取(view instanceof XXXView),若要提取特定的某一个view,则需要知道该vi.. 阅读全文
posted @ 2012-08-03 18:43 i小不 阅读(2287) 评论(0) 推荐(0)
摘要: 在android的布局设计中,我们经常会在布局文件中为layout或view设置padding和margin属性,这两者的区别是:设置了padding属性的view,规定其直接subview与其四周边缘之间的间距,作用的对象是它所有的直接subviews,若只需设置与左边缘之间的间距则可以只设置padding_left属性,其它三面类似;设置了margin属性的view,规定自身与其parentview四周边缘之间的间距,作用的对象是view本身,若只需设置与父view上边缘之间的间距则可以只设置margin_top属性,其它三面类似;综上,若有view和subview两个视图,且subv.. 阅读全文
posted @ 2012-08-03 18:31 i小不 阅读(169) 评论(0) 推荐(0)