关于android textview,edittext,导致界面的卡顿
2014-09-01 10:34
357 查看
我们在平时使用textview和edittextview的时候总是很随意的编写它相应的xml,但是当你的界面中存在滑动之类的效果的时候如果你不注意,你可能会发现你的界面居然有时候会有很卡的感觉,具体为什么卡,卡在哪里我们往往摸不着头脑,明明一点耗时的操作都没有,界面就多了一句,textview的settex函数,怎么就卡的不成样了,我们有时候会去怀疑android 的机制没苹果的好。其实具体原因还在于我们对控件不够了解。
当一个界面里面存着类似scrollview或者listview这种控件的时候,我们需要滑动界面,而有时候滑动的界面都有相应的textview做说明,但是一滑动就发现界面特别卡。如果出现这种情况注意下你的xml对textview的宽高做设置的时候是不是设置成了wrapcontent,这个时候把他设置成fillparent就好了。当然有时候fillparent也不好用,因为如果你的textview的父view的长宽也是一个变化的值的话,也有可能导致卡顿。
为什么使用wrapcontent后就会出现卡顿呢。思索后发现,滑动的时候其实listview或者scrollview都在对他的子view进行重绘。而在这个时候textview如果进行滑动的时候进行设置,比如利用textview进行修改内容。这个时候textview因为设置的内容长度发生了变化,所以导致跟父view的重绘,计算长宽发生了冲突。所以,为了避免这种冲突,textview的长宽必须是父view可计算的。所以要不你设置成fillparent要不你就固定一个长宽,这些都可以解决textview设置内容的时候导致界面的卡顿。总之在你没法查找到卡顿的根源的时候,去看看父view的长宽是不是收到了子view的影响。
其实在网上很多关于listview滑动发生卡顿,其实总结的不是很完善,大部分是对listview设置成fillparent之类的说法,很多说getview不断的重复调用,跟这个也有关系。这些其实很多都是由于textview的长宽不是一个定值或者不可测导致。不信你把他们写死成一个值,你就会发现界面顺滑无比。
当一个界面里面存着类似scrollview或者listview这种控件的时候,我们需要滑动界面,而有时候滑动的界面都有相应的textview做说明,但是一滑动就发现界面特别卡。如果出现这种情况注意下你的xml对textview的宽高做设置的时候是不是设置成了wrapcontent,这个时候把他设置成fillparent就好了。当然有时候fillparent也不好用,因为如果你的textview的父view的长宽也是一个变化的值的话,也有可能导致卡顿。
为什么使用wrapcontent后就会出现卡顿呢。思索后发现,滑动的时候其实listview或者scrollview都在对他的子view进行重绘。而在这个时候textview如果进行滑动的时候进行设置,比如利用textview进行修改内容。这个时候textview因为设置的内容长度发生了变化,所以导致跟父view的重绘,计算长宽发生了冲突。所以,为了避免这种冲突,textview的长宽必须是父view可计算的。所以要不你设置成fillparent要不你就固定一个长宽,这些都可以解决textview设置内容的时候导致界面的卡顿。总之在你没法查找到卡顿的根源的时候,去看看父view的长宽是不是收到了子view的影响。
其实在网上很多关于listview滑动发生卡顿,其实总结的不是很完善,大部分是对listview设置成fillparent之类的说法,很多说getview不断的重复调用,跟这个也有关系。这些其实很多都是由于textview的长宽不是一个定值或者不可测导致。不信你把他们写死成一个值,你就会发现界面顺滑无比。
相关文章推荐
- 关于android开发ListView的Adapter的convertView中有EditText的问题
- 关于android text view 加载第三方字库导致内存泄漏问题
- Android实战简易教程-第三十二枪(自定义View登录注册界面EditText-实现一键清空)
- 关于Android开发的editText控件怎… 分类: Android界面和组件 2014-05-30 10:59 82人阅读 评论(0) 收藏
- Android实战简易教程-第三十二枪(自定义View登录注册界面EditText-实现一键清空)
- Android实战简易教程<三十二>(自定义View登录注册界面EditText-实现一键清空)
- android ListView使用ViewHolder优化时,EditText设置TextWatcher时,滑动ListView导致内容错乱
- Android关于TextView 宽度过大导致Drawable无法居中问题
- android 设置EditText和TextView不可见
- Android常见控件之TextView、EditView、Button、Menu
- android TextWatcher 监听textview和edittext的文字输入改变
- android TextView和EditText中显示图片
- 【工作笔记】android TextView、EditText对部分内容设置颜色、字体、超链接、图片
- Android常用控件-TextView、EditView、Button、Menu
- Android的TextView/EditText使用CharacterStyle&SpannableString来处理图片显示、字体样式、超链接等
- Android的TextView/EditText使用CharacterStyle&SpannableString来处理图片显示、字体样式、超链接等
- 【转】 Android应用启动时,焦点直接在EditText上,输入法直接打开,影响界面美观。
- android TextView和EditText中显示图片
- Android TextView、EditText显示表情 推荐
- android 关于线程更新UI控件,包括gridview,textview,imageview等