码迷,mamicode.com
首页 > 移动开发 > 详细

Android 开发中踩过的坑之六:几个关于View的tips

时间:2015-08-05 22:49:07      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

这几个点, 不算是坑, 但是也确实浪费了我一些时间


1、ScrollView的高设置成"wrap_content"会缩的很小, 

ScrollView内只允许嵌套一个View, 并且不要将他的高度设置为"wrap_content", 否则它会缩小到很短的样子. 

ListView也是一样. 


2、ListView中的Item如果有不同的样式,最好使用getItemViewType()来区别

事实上, 在ListView的Item完全可以用一种View布局来控制Visiable/Gone, 从而产生不同的ItemView. 

但是, 这样有一些坏处, 1是getView()方法的逻辑会有些复杂, 2是可能会浪费一些inflate时间, 因为有一部分View是要被Gone掉的, 必须要被显示也就不应该被inflate, inflate需要IO, 而IO是一个比较耗时的操作.3浪费内存, 既然不必要显示, 就不应该有这个对象.

BaseAdapter天生有区别ItemView的功能, 重写getItemViewType()方法和getViewTypeCount()就可以实现. 同时在getView()中只需要简单的switch-case就可以处理不同的ItemView了.


3、ImageView并没有先适配宽度,然后根据宽度适配高度的模式。

这个坑踩了两次. 一直以为android足够强大, 但是这个事它真的没做.

 ImageView有很多图片缩放的模式, 但是没有任何一个模式满足先适配宽度, 再根据宽度适配高度的效果. 在尝试了很多次模式组合后, 明白这一点. 所以要做到这一点, 只有老老实实的根据屏幕宽度, 算出合适的图片宽度, 然后根据图片的宽高比例算出图片应有的高度, 设置成IamgeView的宽和高.


Android 开发中踩过的坑之六:几个关于View的tips

标签:

原文地址:http://my.oschina.net/u/1393188/blog/488394

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!