2014-11-14 68 views
1

嗨我有FrameLayout並且想在此佈局中添加two buttons (or more)
第一個按鈕顯示,但是當添加第二個按鈕時,似乎將it beneath the first button。我試過margin top gravity和其他幾個,但似乎無法顯示第一個下面的按鈕。如何在framelayout中顯示彼此之下的按鈕?

這裏是我的XML文件

<?xml version="1.0" encoding="utf-8"?> 
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/tabhost" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/logo1"> 

<LinearLayout 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="5dp"> 

<TabWidget 
    android:id="@android:id/tabs" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

<FrameLayout 
    android:id="@android:id/tabcontent" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="5dp" > 

    <Button 
     android:id="@+id/Distancecalc" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Distance Calculator" /> 

    <Button 
     android:id="@+id/Distance" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Distance Calculator" /> 

    </FrameLayout> 

    </LinearLayout> 
    </TabHost> 

誰能請幫助?

回答

2

FrameLayout旨在屏蔽屏幕上的區域以顯示a single item。一般來說,FrameLayout應該被用來保存a single child view,因爲可以很難組織子視圖,這種方式可以擴展到不同的屏幕尺寸,而不需要兒童相互重疊。但是,您可以使用android:layout_gravity屬性將多個孩子添加到FrameLayout和control their position within the FrameLayout by assigning gravity to each child

子視圖繪製在堆棧中,最近添加的子項位於頂部。 FrameLayout的大小是其最大子項(加上填充)的大小,可見與否(如果FrameLayout的父級允許)。只有在setConsiderGoneChildrenWhenMeasuring()設置爲true的情況下,GONE視圖才用於確定尺寸。

爲了您的解決方案中使用LinearLayout with vertical orientationRelativeLayout

<?xml version="1.0" encoding="utf-8"?> 
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/tabhost" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/logo1"> 

<LinearLayout 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="5dp"> 

<TabWidget 
    android:id="@android:id/tabs" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

<LinearLayout 
    android:id="@android:id/tabcontent" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:padding="5dp" > 

    <Button 
     android:id="@+id/Distancecalc" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Distance Calculator" /> 

    <Button 
     android:id="@+id/Distance" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Distance Calculator" /> 

    </LinearLayout> 

    </LinearLayout> 
</TabHost> 
+0

十分感謝!有用! – Allrounder 2014-11-14 13:11:18