1

テキストビュー、テキストビュー、スライダーバー、ボタン、グリッドビュー、ボタン、グリッドビュー、ボタンのように、同じ順序で配置されたいくつかの要素があります。上のボタンがクリックされると、グリッドビューの可視性を切り替えます。以前、グリッドビューがその下にあるすべてのものを隠しているという問題に直面していたので、ボタンに重みを割り当てましたが、グリッドビューは(スクロール可能ですが)非常にくしゃくしゃに見えます。以下の要素が相対的な位置を維持し、必要な場所に表示されるように、グリッドビューの幅を広げるにはどうすればよいですか (基本的にボタンをクリックしたときに展開可能なリストの動作が必要です)。

    <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" />

4

1 に答える 1

0

代わりに tableLayout を使用し、必要に応じてテーブルの行を作成すると簡単になりgoneますvisible。これにより、展開可能なリストの効果が得られます。ご不明な点はお気軽にご質問ください

于 2013-02-12T04:37:23.020 に答える