Проблемы с макетом. Android - PullRequest
       4

Проблемы с макетом. Android

0 голосов
/ 09 ноября 2010

У меня есть поведение моего макета. Я даю два из них, очень похожие друг на друга. Единственное отличие - атрибут ширины текстовых представлений.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="bottom">
    <LinearLayout  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:isScrollContainer="true"
        android:gravity="center"
        android:background="@color/black">
        <LinearLayout
            android:id="@+id/tabs"
            android:layout_width="0dp" 
            android:layout_height="fill_parent"
            android:orientation="horizontal"
            android:background="@color/black"
            android:layout_weight="1">                      
            <TextView   
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Einstellungen"
                android:drawableTop="@drawable/selector_settings" 
                android:id="@+id/main_menu_button_connection" 
                android:gravity="center" 
                android:textAppearance="?android:attr/textAppearanceMedium" 
                android:textSize="10px">
            </TextView>     
            ...
            <TextView   
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Suche"
                android:drawableTop="@drawable/selector_search" 
                android:id="@+id/main_menu_button_connection" 
                android:gravity="center" 
                android:textAppearance="?android:attr/textAppearanceMedium" 
                android:textSize="10px">
            </TextView>
        </LinearLayout>             
    </LinearLayout>
</LinearLayout>

Если layout_width установлен для переноса контента, я получаю следующие результаты макета: alt text

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="bottom">
    <LinearLayout  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:isScrollContainer="true"
        android:gravity="center"
        android:background="@color/black">
        <LinearLayout
            android:id="@+id/tabs"
            android:layout_width="0dp" 
            android:layout_height="fill_parent"
            android:orientation="horizontal"
            android:background="@color/black"
            android:layout_weight="1">                      
            <TextView   
                android:layout_width="70dp"
                android:layout_height="wrap_content"
                android:text="Einstellungen"
                android:drawableTop="@drawable/selector_settings" 
                android:id="@+id/main_menu_button_connection" 
                android:gravity="center" 
                android:textAppearance="?android:attr/textAppearanceMedium" 
                android:textSize="10px">
            </TextView>     
            ...
            <TextView   
                android:layout_width="70dp"
                android:layout_height="wrap_content"
                android:text="Suche"
                android:drawableTop="@drawable/selector_search" 
                android:id="@+id/main_menu_button_connection" 
                android:gravity="center" 
                android:textAppearance="?android:attr/textAppearanceMedium" 
                android:textSize="10px">
            </TextView>
        </LinearLayout>             
    </LinearLayout>
</LinearLayout>

Если вместо layout_width установлено значение (здесь 70dp), мой макет выглядит так, я хочу, чтобы он имел:

alt text

Кто-нибудь может мне объяснить, почему?!

Есть ли какое-то решение, позволяющее избежать установки постоянной ширины и при этом получить результат макета, как на втором рисунке?!

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 09 ноября 2010

Я рекомендую начать все сначала и использовать представление конструктора eclipse или использовать droiddraw для создания макета, особенно с учетом недавних улучшений в редакторе макетов.

0 голосов
/ 09 ноября 2010

Возможно, вы захотите присвоить каждому TextView одинаковый вес макета, например android:layout_weight="1" и ширину fill_parent.Также не стоит придавать вес линейному расположению вкладок.Кроме того, хотя я и не знаю, что происходит позже в файле макета, наличие трех вложенных LinearLayouts может показаться расточительным.Может быть, вы можете избавиться от одного из них?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...