我有几个元素 - 按照相同的顺序排列如下: textview,textview,滑动条,按钮,gridview,按钮,gridview,按钮。 当单击上面的按钮时,我切换gridview的可见性。早些时候我遇到了gridview隐藏在它下面的所有内容的问题,所以我为按钮分配了权重,但gridview(虽然可滚动)看起来非常紧凑。如何增加gridview的宽度,以便下面的元素保持它们的相对位置并显示在它们应该的位置。(我希望基本上单击按钮时可扩展列表的行为)
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_marginTop="20dip"
android:layout_marginLeft="10dip"
android:text="Select Price Range"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="15sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/seekBar_wrapper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dip"
android:padding="10dip"
/>
<RelativeLayout
android:id="@+id/absMinMax_holder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip"
android:layout_weight="1"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/absMinCarVal"
android:layout_alignParentLeft="true"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/absMaxCarVal_above"
android:textSize="14sp"
android:layout_alignParentRight="true" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/minMax_holder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="40dip"
android:paddingRight="40dip"
android:paddingTop="10dip"
android:paddingBottom="10dip"
>
<TextView
android:id="@+id/minVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/absMinCarVal"
android:layout_alignParentLeft="true"
android:textSize="18sp" />
<TextView
android:id="@+id/value_seperator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/value_seperator"
android:layout_centerHorizontal="true"
android:textSize="22sp" />
<TextView
android:id="@+id/maxVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/absMaxCarVal"
android:textSize="18sp"
android:layout_alignParentRight="true" />
</RelativeLayout>
</LinearLayout>
<!-- <ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"> -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1" >
<Button
android:id="@+id/car_make"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Car Make"
android:gravity="left"
android:textSize="18sp"
android:layout_marginBottom="10dp"/>
<GridView
android:id="@+id/make_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:visibility="gone"
android:layout_weight="1"
android:layout_marginBottom="10dp"/>
<Button
android:id="@+id/car_models"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Car Models"
android:gravity="left"
android:textSize="18sp"
android:layout_marginBottom="20dp"/>
<GridView
android:id="@+id/models_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:visibility="gone"
android:layout_weight="1"
android:layout_marginBottom="10dp"/>
</LinearLayout>
<!-- </ScrollView> -->
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Search"
android:textSize="18sp" />
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_marginTop="20dip"
android:layout_marginLeft="10dip"
android:text="Select Price Range"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="15sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/seekBar_wrapper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dip"
android:padding="10dip"
/>
<RelativeLayout
android:id="@+id/absMinMax_holder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip"
android:layout_weight="1"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/absMinCarVal"
android:layout_alignParentLeft="true"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/absMaxCarVal_above"
android:textSize="14sp"
android:layout_alignParentRight="true" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/minMax_holder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="40dip"
android:paddingRight="40dip"
android:paddingTop="10dip"
android:paddingBottom="10dip"
>
<TextView
android:id="@+id/minVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/absMinCarVal"
android:layout_alignParentLeft="true"
android:textSize="18sp" />
<TextView
android:id="@+id/value_seperator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/value_seperator"
android:layout_centerHorizontal="true"
android:textSize="22sp" />
<TextView
android:id="@+id/maxVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/absMaxCarVal"
android:textSize="18sp"
android:layout_alignParentRight="true" />
</RelativeLayout>
</LinearLayout>
<!-- <ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"> -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1" >
<Button
android:id="@+id/car_make"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Car Make"
android:gravity="left"
android:textSize="18sp"
android:layout_marginBottom="10dp"/>
<GridView
android:id="@+id/make_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:visibility="gone"
android:layout_weight="1"
android:layout_marginBottom="10dp"/>
<Button
android:id="@+id/car_models"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Car Models"
android:gravity="left"
android:textSize="18sp"
android:layout_marginBottom="20dp"/>
<GridView
android:id="@+id/models_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:visibility="gone"
android:layout_weight="1"
android:layout_marginBottom="10dp"/>
</LinearLayout>
<!-- </ScrollView> -->
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Search"
android:textSize="18sp" />
答案 0 :(得分:0)
如果您使用tableLayout并根据需要创建表gone
和visible
的行,则会更容易。这将产生可扩展列表的效果。请随时提出疑问