2017-02-15 12 views
0

My AppBar делает странные вещи. Это то, что он выглядит на экране 720x1280: enter image description hereAppBar неправильная высота

Это то, как это должно выглядеть. И вот как это выглядит на экране 1080x1920: enter image description here Я играл с высотой панели инструментов в app_bar_main.xml, но мне это не понравилось, поэтому я вернул ее к значению по умолчанию: attr/actionBarSize , В чем может быть проблема? Вот мой app_bar_main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="com.koostamas.justtry.MainActivity"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 

</android.support.design.widget.CoordinatorLayout> 

А вот мой activity_main.xml:

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

<include 
    android:id="@+id/app_bar" 
    layout="@layout/app_bar_main" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 
<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawerLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <FrameLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/containerView"> 
    </FrameLayout> 


    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:id="@+id/drawerPane" 
     android:layout_gravity="start"> 

     <!-- List of Actions (pages) --> 
     <ListView 
      android:id="@+id/navList" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:choiceMode="singleChoice" 
      android:background="@color/busblue"/> 

    </RelativeLayout> 

</android.support.v4.widget.DrawerLayout> 

</LinearLayout> 
+0

удалить высоту и ширину атрибутов от включаемых код макета –

+0

Это решает высоту, но затем исчезает ящик навигации и фрагмент под панелью приложения, и только белый фон отображается. –

ответ

1

попробуйте обновить свой код. По мне эта проблема связана с вашими взглядами. Ваш подход неверен, чтобы добавить это. Если вы включаете панель инструментов только тогда, то в чем нуждаются coordinateLayout и AppBarLayout!

обновление app_bar_main.xml OCDE с этим

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    app:popupTheme="@style/AppTheme.PopupOverlay" /> 

обновляли activity_main.xml код этой

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

    <include 
     android:id="@+id/app_bar" 
     layout="@layout/app_bar_main" /> 

    <FrameLayout 
     android:id="@+id/containerView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"></FrameLayout> 

    <RelativeLayout 
     android:id="@+id/drawerPane" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start"> 

     <!-- List of Actions (pages) --> 
     <ListView 
      android:id="@+id/navList" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:background="@color/busblue" 
      android:choiceMode="singleChoice" /> 

    </RelativeLayout> 

</android.support.v4.widget.DrawerLayout> 

+0

Если я включу его, как вы сказали, панель приложений находится за фрагментом под ним, и если я перейду туда за пределами drawerlayout (beacuse, я хочу, чтобы ящик для навигации начинался ниже моей панели приложений), то он выглядит так же, как и раньше. –

+0

ok Я обновлю еще один xml, сделайте одно исключение из этих выше xml и сделайте вывод, что только –

+0

Я получил его. Xml, который вы опубликовали, был неправильным, но вы написали, что мне не нужен координаторLayout, и вы были правы. Это решило. Благодарю. Пожалуйста, обновите сообщение, так что, если кому-то еще нужен ответ, будет ясно. –