最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 中 GridView嵌套在ScrollView里只有一行的解決方法

 更新時間:2016年10月08日 09:28:49   作者:libuyi  
本文給大家?guī)韮煞N有關(guān)Android 中 GridView嵌套在ScrollView里只有一行的解決方法,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧

在做android項目中遇到一個bug,GridView嵌套在ScrollView里只有一行的問題。下面小編在網(wǎng)上找到了解決方法,具體方法如下所示:

方法一:就是上面說的通過計算出來ListView或者GridView中的子列高度和 進(jìn)行顯示:

public void setListViewHeightBasedOnChildren(ListView listView) { 
ListAdapter listAdapter = listView.getAdapter(); 
if (listAdapter == null) { 
return; 
} 
int totalHeight = 0; 
for (int i = 0; i < listAdapter.getCount(); i++) { 
View listItem = listAdapter.getView(i, null, listView); 
listItem.measure(0, 0); 
totalHeight += listItem.getMeasuredHeight(); 
} 
ViewGroup.LayoutParams params = listView.getLayoutParams(); 
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); 
((MarginLayoutParams)params).setMargins(15, 15, 15, 15); 
listView.setLayoutParams(params);
}

方法二:重寫GridView和ListView的onMeasure方法,直接給它一個足夠大的高度:

重寫ListView:

public 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:

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中的布局:

<com.xxx.MyGridView 
android:id="@+id/mygridview" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:gravity="center" 
android:horizontalSpacing="5dp" 
android:numColumns="4" 
android:stretchMode="columnWidth" 
android:verticalSpacing="6dp" />

以上所述是小編給大家介紹的Android 中 GridView嵌套在ScrollView里只有一行的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

疏勒县| 南江县| 开平市| 白城市| 瓦房店市| 佛冈县| 武平县| 承德市| 芦山县| 长丰县| 滦南县| 沙坪坝区| 昔阳县| 贞丰县| 阳高县| 鄢陵县| 鹤壁市| 江永县| 日土县| 攀枝花市| 晋宁县| 大埔县| 德阳市| 芒康县| 纳雍县| 林芝县| 潜江市| 亳州市| 苏尼特右旗| 台南市| 阳新县| 深州市| 西吉县| 古浪县| 昌乐县| 页游| 平原县| 克什克腾旗| 建始县| 乐山市| 南开区|