Android GridView高度自动填充Remaing空间

时间:2016-10-10 21:48:23

标签: android android-gridview

GridView是否可以自动调整以占用其父布局的剩余空白区域?如果有,怎么样?

1 个答案:

答案 0 :(得分:0)

呀。这是可能的。

让我们考虑一下xml,

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

  //First View or layout
  <RelativeLayout            
        android:id="@+id/first_layout"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:background="#000">
  </RelativeLayout>

  //Second View or layout
  <RelativeLayout             
        android:id="@+id/second_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/first_layout"
        android:background="#8b3737">
  </RelativeLayout>

</RelativeLayout>

在您的活动中,

 RelativeLayout layout_one=(RelativeLayout)findViewById(R.id.first_layout);
 RelativeLayout layout_two=(RelativeLayout)findViewById(R.id.second_layout);

设置时,

 layout_one.setVisibility(View.GONE);

然后第二个布局/视图将占据整个父空间。

注意:我采用相对布局作为示例。它可以是任何视图。但是父母应该是RelativeLayout。

如果您希望隐藏第二个布局,并且第一个布局应填充父级,

然后XML将是,

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

  //First View or layout
  <RelativeLayout            
        android:id="@+id/first_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/second_layout"
        android:background="#000">
  </RelativeLayout>

  //Second View or layout
  <RelativeLayout             
        android:id="@+id/second_layout"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:background="#8b3737">
  </RelativeLayout>

</RelativeLayout>

设置时,

 layout_two.setVisibility(View.GONE);

然后第一个布局/视图将占据整个父空间。

注意:至少有一个布局/视图应具有静态高度(在这种情况下)。

我希望它会对你有所帮助。

一切顺利。