2016-07-07 6 views
0

вот мой тестовый код:почему вид в drawerlayout является сила масштаба, чтобы заполнить экран

<android.support.v4.widget.DrawerLayout 
     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" 
     tools:context="ro.rotry.NdInnerViewAutoFillScreen"> 
    <TextView android:text="in drawerlayout" android:textColor="@android:color/white" android:background="@android:color/black" android:layout_width="100dp" android:layout_height="100dp"/> 
</android.support.v4.widget.DrawerLayout> 

я получаю следующий результат:

enter image description here

как сделать размер TextView показать 100dp

обновление

я могу это исправить с помощью следующего кода:

<android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" 
                android:layout_height="match_parent"> 
     <TextView android:text="in coordinator" android:textColor="@android:color/white" android:background="@android:color/black" android:layout_width="100dp" android:layout_height="100dp"/> 
    </android.support.design.widget.CoordinatorLayout> 

, но я надеюсь, что путь без CoordinatorLayout, это тоже беда

+2

Вам действительно нужен «DrawerLayout»? В этом макете нет ящика. –

+0

@MikeM. это просто простой образец для воспроизведения моего вопроса, мне нужен DrawerLayout в реальном коде – asullaherc

ответ

2

Первый ребенок View из DrawerLayout является основным содержанием View, и он будет выложен для заполнения DrawerLayout независимо от атрибутов макета, которые вы установили на нем.

Если вы хотите, чтобы ваш TextView был установленным вами размером, его необходимо обернуть в другом ViewGroup, который действует как основное содержание View. Например:

<android.support.v4.widget.DrawerLayout 
    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" 
    tools:context="ro.rotry.NdInnerViewAutoFillScreen"> 

    <RelativeLayout android:id="@+id/content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView android:text="in drawerlayout" 
      android:textColor="@android:color/white" 
      android:background="@android:color/black" 
      android:layout_centerInParent="true" 
      android:layout_width="100dp" 
      android:layout_height="100dp"/> 

    </RelativeLayout> 

    <View android:id="@+id/drawer" 
     ... /> 

</android.support.v4.widget.DrawerLayout> 
Смежные вопросы