您好,登錄后才能下訂單哦!
前些日子在開發中用到了需要ScrollView嵌套GridView的情況,由于這兩款控件都自帶滾動條,當他們碰到一起的時候便會出問題,即GridView會顯示不全。 找到大家的通用解決辦法。記錄一下。
解決辦法,自定義一個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); } }
該自定義控件只是重寫了GridView的onMeasure方法,使其不會出現滾動條,ScrollView嵌套ListView也是同樣的道理,不再贅述。
XML布局代碼
<ScrollView Android:layout_height="wrap_content" Android:layout_width="fill_parent" android:id="@+id/scroll_content"> <com.yourclass.MyGridView xmlns:Android="http://schemas.android.com/apk/res/android" Android:id="@+id/grid_view" android:layout_width="fill_parent" Android:layout_height="wrap_content" android:numColumns="auto_fit" Android:horizontalSpacing="1dip" android:verticalSpacing="1dip" Android:columnWidth="150dip" android:stretchMode="columnWidth" Android:gravity="center"> </com.yourclass.MyGridView> </ScrollView>
Java調用代碼
MyGridView gridview = (MyGridView) findViewById(R.id.grid_view); gridview.setAdapter(new ImageAdapter());
以上所述是小編給大家介紹的Android中ScrollView嵌套GridView的解決辦法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。