2014-06-27 52 views
0

我有一個LinearLayout內的TextView和FrameLayout。 我無法將TextView放在framelayout的下方,它始終保持在頂部。Android - 無法使框架佈局下面的textview

這是我的代碼:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="bottom" 
     android:text="TextView" /> 

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

     <FrameLayout 
      android:id="@+id/content_frame" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

     <ImageButton 
      android:id="@+id/btnGoToTop" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center|bottom" 
      android:layout_margin="5dip" 
      android:background="@drawable/buttongototop" 
      android:padding="5dip" 
      android:visibility="gone" /> 
    </FrameLayout> 

</LinearLayout> 

回答

1
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"> 

     <FrameLayout 
      android:id="@+id/content_frame" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

     <ImageButton 
      android:id="@+id/btnGoToTop" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center|bottom" 
      android:layout_margin="5dip" 
      android:background="@drawable/buttongototop" 
      android:padding="5dip" 
      android:visibility="gone" /> 
    </FrameLayout> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="bottom" 
     android:text="TextView" /> 

</LinearLayout> 

,請注意FrameLayoutlayout_weightlayout_height。如果你保持高度爲match_parent,它將適合整個屏幕,在屏幕結束後將TextView定位在之後。

檢查此鏈接關於layout_weight in LinearLayouts

+0

非常感謝,現在可以運行 –

0

嘗試反轉的的FrameLayout和TextView的考慮到你是在一個LinearLayout中的順序;)

+0

嗨,我試過了,但TextView消失了。我使用getFragmentManager()。beginTransaction()。replace(R.id.content_frame,mf).commit()來顯示一個listView,是否會導致這個問題? –

0

嘗試......

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 



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

     <FrameLayout 
      android:id="@+id/content_frame" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

     <ImageButton 
      android:id="@+id/btnGoToTop" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center|bottom" 
      android:layout_margin="5dip" 
      android:background="@drawable/buttongototop" 
      android:padding="5dip" 
      android:visibility="gone" /> 
    </FrameLayout> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="bottom" 
     android:text="TextView" /> 

</LinearLayout> 
+0

嗨,我試過了,但TextView消失了。我使用getFragmentManager()。beginTransaction()。replace(R.id.content_frame,mf).commit()來顯示一個listView,是否會導致這個問題? –

+0

更改爲'android:layout_height =「wrap_content」'在框架佈局 –

0

對您的產品做以下更改TextView

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:gravity="bottom" 
    android:text="TextView" /> 

讓我知道它是否有效。