0
我有一個相對佈局(RV1),其中頂部是列表視圖。在這之下,我有另一個相對視圖(R2),它包含一個圖像和按鈕。 最後在R2下面,在R1的底部有一個編輯框和一個按鈕(B1)。當圖層可見性發生變化時刷新圖層
最初,R2被設置爲可見性(不存在),因此列表僅位於編輯框的頂部。但是,當我按下按鈕B1時,我希望R2可見並且列表現在可以在R2之上移動。
在xml設置中,列表設置爲高於R2:android:layout_above =「@ id/R2Layout」 但是由於R2最初設置爲不存在,列表位於編輯框的頂部。沒關係。
我的問題是,一旦按鈕B1被按下,R2就會變得可見,但是列表不會讓R2產生空間並移動到R2上方。 R2和列表相互重疊。
我試圖通過做view.invalidate()使整個視圖刷新自己,但它沒有工作。
我該如何解決這個問題?
下面是xml代碼。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/r1"
android:layout_width="match_parent"
android:layout_height="fill_parent" >
<EditText
android:id="@+id/et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_toLeftOf="@+id/b1"
android:padding="5dp"
android:paddingTop="10dp" >
</EditText>
<RelativeLayout
android:id="@+id/r2"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_margin="5dp"
android:layout_height="wrap_content"
android:layout_above="@+id/et"
android:layout_alignParentLeft="true" >
<ImageView
android:id="@+id/iv"
android:visibility="gone"
android:layout_width="80dp"
android:layout_height="80dp" />
<Button
android:id="@+id/b2"
android:visibility="gone"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/iv"
android:layout_alignTop="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button" />
</RelativeLayout>
<FrameLayout
android:id="@+id/frameLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/r2"
android:layout_marginBottom="10dp" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:dividerHeight="2.0sp"
android:fastScrollEnabled="true"
android:smoothScrollbar="true"
android:stackFromBottom="true" />
<!-- Here is the view to show if the list is empty -->
<LinearLayout
android:id="@+id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- If the list is empty because there are no files... -->
<TextView
android:id="@+id/empty_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:visibility="invisible"
android:text="List empty"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</FrameLayout>
<Button
android:id="@+id/b1"
android:layout_width="50dip"
android:layout_height="50dip"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp" />
</RelativeLayout>
你應該張貼的XML進行你的佈局。 – dymmeh 2013-04-30 03:54:21
在這種情況下,您的佈局通常存在問題。如果其他人可以看到他們可以幫助你的佈局。 – HalR 2013-04-30 03:55:39
我已經建議用xml更新。謝謝 – fawx 2013-04-30 04:17:16