1

内部に複数のTextViewがある相対レイアウトがあります。このレイアウトの高さには「wrap_content」があります。特定のナビゲーションボタンを押すと、TextViewの表示を変更して、目的のコンテンツが表示されるようにします。

ただし、次に表示されるコンテンツが前のコンテンツよりも小さい場合、レイアウトは縮小されず、十分な空きスペースが残ります。レイアウトは、表示される最大のコンテンツの高さを維持し、その状態を維持します。

このレイアウトを縮小して、表示されたコンテンツをラップし、余分なスペースが残らないようにします。

レイアウトコードは次のとおりです。

    <RelativeLayout 
        android:id="@+id/brief_box"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:background="#7A08AB"
        android:layout_below="@+id/description_navigation">

        <ImageView 
            android:id="@+id/dot_separator_1"
            android:layout_height="1dp"
            android:layout_width="fill_parent"
            android:background="@drawable/dot_separator"
            android:layout_alignParentTop="true"
            android:layout_marginTop="2dp"/>

        <TextView 
            android:id="@+id/brief_about_text"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_below="@+id/dot_separator_1"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="14dp"
            android:layout_marginTop="4dp"
            android:textColor="#FFFFFF"
            android:textSize="16sp"
            android:textStyle="bold"
            android:text="Venga a drogarse compipa! Venga a drogarse compipa! Venga a drogarse compipa! Venga a drogarse compipa! Venga a drogarse compipa!"/>

        <TextView 
            android:id="@+id/brief_about_update_time"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_below="@+id/brief_about_text"
            android:layout_alignParentRight="true"
            android:layout_marginRight="6dp"
            android:textSize="12sp"
            android:textColor="#DFCAE8"
            android:text="Hace 3 horas"/>

        <TextView 
            android:id="@+id/brief_menu_update_time"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_below="@+id/brief_menu_text"
            android:layout_alignParentRight="true"
            android:layout_marginRight="6dp"
            android:textSize="12sp"
            android:textColor="#DFCAE8"
            android:text="Última actualización hace 2 días."
            android:visibility="gone"/>         

        <TextView 
            android:id="@+id/brief_menu_title"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_below="@+id/dot_separator_1"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="4dp"
            android:textColor="#FFFFFF"
            android:textSize="18sp"
            android:textStyle="bold"
            android:text="Menú cachero"
            android:visibility="gone"/>         

        <TextView 
            android:id="@+id/brief_menu_price"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_below="@+id/dot_separator_1"
            android:layout_alignParentRight="true"
            android:layout_marginTop="4dp"
            android:layout_marginRight="10dp"
            android:textColor="#FFFFFF"
            android:textSize="18sp"
            android:textStyle="bold"
            android:text="$4.500"
            android:visibility="gone"/>  

        <TextView 
            android:id="@+id/brief_menu_text"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_below="@+id/brief_menu_title"
            android:layout_marginTop="4dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="10dp"
            android:textColor="#FFFFFF"
            android:textSize="12sp"
            android:textStyle="bold"
            android:text="Fantástico menú que contiene ilimitadas posibilidades de contraer una diarrea que durará mas de una semana. Contiene cochayuyo con guatitas y caca, sopa, ensalada, y bebida."
            android:visibility="gone"/>                         

        <TextView 
            android:id="@+id/brief_where_title"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_below="@+id/dot_separator_1"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="6dp"
            android:textColor="#FFFFFF"
            android:textSize="14sp"
            android:text="Encuéntranos en:"
            android:visibility="gone"/>        

        <TextView 
            android:id="@+id/brief_where_text"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_below="@+id/brief_where_title"
            android:layout_marginLeft="20dp"
            android:layout_marginBottom="8dp"
            android:textColor="#FFFFFF"
            android:textSize="18sp"
            android:text="Lota 3495, Providencia"
            android:visibility="gone"/>  

        <ImageView 
            android:id="@+id/brief_where_how_to_arrow"
            android:layout_width="11dp"
            android:layout_height="20dp"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/dot_separator_1"
            android:layout_marginRight="4dp"
            android:layout_marginTop="20dp"
            android:background="@drawable/arrow_tag"
            android:visibility="gone"/>                                 

        <TextView 
            android:id="@+id/brief_where_how_to"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_below="@+id/dot_separator_1"
            android:layout_toLeftOf="@+id/brief_where_how_to_arrow"
            android:layout_marginTop="16dp"
            android:textColor="#FFFFFF"
            android:textSize="11sp"
            android:textStyle="bold"
            android:text="content"
            android:visibility="gone"/>           



    </RelativeLayout>

これが問題のスクリーンショットです。

これは大きなコンテンツです:

http://i46.tinypic.com/29xwuw0.png

そして、これは小さなコンテンツであり、大きなコンテンツのレイアウトがあります。

http://i47.tinypic.com/29gbogm.png

助けていただければ幸いです。

4

2 に答える 2

0

必ずView.GONEを使用して、ビューを非表示にします(View.INVISIBLEではありません)。

また、XMLレイアウトを見ると、達成したいことには垂直のLinearLayoutの方が適しているようです。

于 2013-02-07T21:40:27.160 に答える
0

値を変更した後、ViewGroup (この場合は RelativeLayout ) でinvalidate()を呼び出します。これにより、View / ViewGroup がその子を再測定する必要があります。

于 2013-02-07T21:44:21.813 に答える