1

我正在使用Actionbar在android中。操作欄和佈局重疊

在我的佈局中,操作欄顯示正確。但我的片段的佈局與Actionbar重疊。看到下面的圖片。 enter image description here

而我的佈局文件如下。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/myapp_bg" 
tools:context="${relativePackage}.${activityClass}" > 

<LinearLayout 
    android:id="@+id/myapp_user_info_container" 
    android:layout_width="match_parent" 
    android:layout_height="120dp" 
    android:orientation="horizontal" 
    android:background="@drawable/myapp_profile_bg" 

    > 
    <RelativeLayout 
     android:id="@+id/myapp_user_info_inner_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="25dp" 
     android:layout_marginBottom="25dp" 
     > 
     <com.mikhaellopez.circularimageview.CircularImageView 
      android:layout_width="@dimen/myapp_circular_image_size" 
      android:layout_height="@dimen/myapp_circular_image_size" 
      android:layout_gravity="center" 
      android:layout_marginLeft="10dp" 
      android:src="@drawable/username" /> 

     <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_marginRight="5dp" 
     android:layout_weight="2.30" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/myapp_menu_sidebar_user_mailid" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="1dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="3dp" 
      android:layout_weight="1.15" 
      android:gravity="top" 
      android:textColor="#ffffff" 
      android:textSize="17sp" /> 

     <TextView 
      android:id="@+id/myapp_menu_sidebar_user_info" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="3dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="1dp" 
      android:layout_weight="1.15" 
      android:gravity="bottom" 
      android:textColor="#ffffff" /> 
    </LinearLayout> 
    </RelativeLayout> 

</LinearLayout> 

<FrameLayout 
    android:id="@+id/myapp_home_frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_centerInParent="true" 
    android:layout_marginTop="10dp" 
    android:layout_below="@+id/myapp_user_info_container" 
    android:layout_marginBottom="20dp" 
    /> 

<include 
    android:id="@+id/myapp_footer_view_id" 
    android:layout_width="match_parent" 
    android:layout_height="40dp" 
    android:layout_alignParentBottom="true" 
    layout="@layout/myapp_footer" 
    android:visibility="gone" 
    /> 

<!-- <ProgressBar 
    android:id="@+id/myapp_progressbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    /> --> 

我做了什麼錯? 我想佈局將在ActionBar下開始。是否有其他細節需要更好地理解?

回答

1

您可能在使用RelativeLayout時沒有對元素進行排序。您可能應該使用:

android:layout_below="..." 

您可以發佈您的佈局代碼嗎?

+0

編輯於我的佈局文件。 – 2015-04-02 13:44:23

3

我想這可能會幫助您:

https://developer.android.com/training/basics/actionbar/overlaying.html

主要的想法是,如果你使用的是

<item name="windowActionBarOverlay">true</item>

在你的動作條的風格,你必須指定由手保證金:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingTop="?android:attr/actionBarSize"> 
    ... 
</RelativeLayout>