android小技巧

来源:互联网 发布:郑州网络自考 编辑:程序博客网 时间:2024/04/29 03:51

一:在Android开发当中经常会用到了需要ScrollView嵌套GridView或者是ListView的情况,由于这两款控件都自带滚动条,当他们一起使用的时候就会出现GridView或ListView会显示不全的问题。

重写ListView、gridView:
 重写ListViewpublic class MyListView extends ListView { public MyListView(Context context) { // TODO Auto-generated method stub super(context); } public MyListView(Context context, AttributeSet attrs) { // TODO Auto-generated method stub super(context, attrs); } public MyListView(Context context, AttributeSet attrs, int defStyle) { // TODO Auto-generated method stub super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // TODO Auto-generated method stub int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }重写GridView/** * 自定义gridview,解决ListView中嵌套gridview显示不正常的问题(1行半) * @author wangyx * @version 1.0.0 2012-9-14 */ public class MyGridView extends GridView{ public MyGridView(Context context, AttributeSet attrs) { super(context, attrs); } public MyGridView(Context context) { super(context); } public MyGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }xml中的布局文件: Java调用代码MyGridView gridview = (MyGridView) findViewById(R.id.mygridview); gridview.setAdapter(new XxxAdapter(xxx))
 @Override
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) 
{
 // TODO Auto-generated method stub 
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);  
super.onM  easure(widthMeasureSpec, expandSpec)
; }
按照红字标注部分重写onMeasure方法,可解决嵌套listview、gridview显示不完全的问题。


0 0
原创粉丝点击