2014-01-14 31 views
3

我在Android應用程序上工作,並使用視圖FrameLayout。問題是設計問題之一。在視圖內部,我有另一個FrameLayout和一個位於底部視圖上的LinearLayout。但問題是,當我的FrameLayout比父級更高時,FrameLayout的最後一部分在LinearLayout下,在這種情況下,我希望FrameLayout佔用的所有部分少於LinearLayout的高度。如何在FrameLayout內部安排元素?

下面是截圖: enter image description here

這裏是我的代碼:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/drawer_layout" 
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"> 

</FrameLayout> 

<LinearLayout 
    android:id="@+id/bottom_menu" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_gravity="bottom" 
    android:background="@drawable/menu_background" 
    android:paddingTop="8dp" > 
    <TextView 
     android:id="@+id/currentOffersMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/products" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" /> 

    <TextView 
     android:id="@+id/receiptStatusMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_marginTop="16dp" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/receipt" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" /> 

    <TextView 
     android:id="@+id/photographReceiptMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/camera" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" 
     android:layout_marginTop="20dp" /> 

    <TextView 
     android:id="@+id/userAccountMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/account" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" /> 

    <TextView 
     android:id="@+id/howItWorksMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/information" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" /> 

</LinearLayout> 

可以someoane幫助我嗎?

回答

2

如果content_frame必須總是高於LinearLayout,那麼方式不會在LinearLayoutRelativeLayout父母中打斷它們嗎?類似這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

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

</FrameLayout> 

<LinearLayout 
    android:id="@+id/bottom_menu" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_gravity="bottom" 
    android:background="@drawable/menu_background" 
    android:paddingTop="8dp" > 
    <TextView 
     android:id="@+id/currentOffersMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/products" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" /> 

    <TextView 
     android:id="@+id/receiptStatusMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_marginTop="16dp" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/receipt" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" /> 

    <TextView 
     android:id="@+id/photographReceiptMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/camera" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" 
     android:layout_marginTop="20dp" /> 

    <TextView 
     android:id="@+id/userAccountMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/account" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" /> 

    <TextView 
     android:id="@+id/howItWorksMenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/information" 
     android:drawablePadding="4dp" 
     android:gravity="center" 
     android:textColor="@android:color/black" 
     android:textSize="@dimen/bottom_menu_text_size" /> 
    </LinearLayout> 

<!-- Close the parent layout --> 
</LinearLayout> 
相關問題