1. 程式人生 > >怎樣在GridView底部新增按鈕

怎樣在GridView底部新增按鈕

如圖,右邊是一個GridView,底部有兩個按鈕。當Gridview內容比較少的時候,我們之間用個線性佈局就可以達到這種效果。

但是,當我們內容很多的時候,超出一個頁面時,linearlayout就只能顯示GridView的資料的,底部的兩個按鈕會因為GridView已經充滿螢幕而不顯示。

解決方法:

把GridView設定為不可滑動,這個要自定義一個類來繼承GridView。測量它的高度,把高度設為儘可能大。、

程式碼如下:

public class NoScrollGridView extends GridView {

   public NoScrollGridView(Context context) {
      super
(context); } public NoScrollGridView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST
); super.onMeasure(widthMeasureSpec, expandSpec); } }
然後把GridView和兩個按鈕寫在同一個線性佈局裡面。再在外面巢狀一個
ScrollView。就達到想要的效果了
<ScrollView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.78"
android:scrollbars="none">

    <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" android:orientation="vertical"> <com.wanwu.power.adapter.NoScrollGridView android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="match_parent" android:horizontalSpacing="6dp" android:numColumns="2" android:scrollbars="none"></com.wanwu.power.adapter.NoScrollGridView> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="22dp" android:layout_marginRight="22dp" android:layout_marginTop="36dp"> <TextView android:id="@+id/btn_all_open" android:layout_width="0dp" android:layout_height="36dp" android:layout_marginLeft="22dp" android:layout_marginRight="22dp" android:layout_weight="1" android:background="@drawable/btn_bg_blue_15" android:gravity="center" android:text="全部開啟" android:textColor="#ffffff" android:textSize="14sp" /> <TextView android:id="@+id/btn_all_close" android:layout_width="0dp" android:layout_height="36dp" android:layout_marginLeft="22dp" android:layout_marginRight="22dp" android:layout_weight="1" android:background="@drawable/btn_bg_red_15" android:gravity="center" android:text="全部關閉" android:textColor="#ffffff" android:textSize="14sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp"> <Button android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" /> </LinearLayout> </LinearLayout> </ScrollView>