代码之家  ›  专栏  ›  技术社区  ›  Tima

布局问题。安卓

  •  0
  • Tima  · 技术社区  · 14 年前

    我对自己的布局有一些看法。我给了他们两个,非常相似。只有一个区别是textView的width属性。

    <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>
    

    如果“布局宽度”设置为“环绕内容”,我将得到以下布局结果: 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>
    

    如果布局宽度设置为值(此处为70dp),我的布局看起来是这样的,我希望它具有:

    alt text

    有人能解释我为什么吗?!

    是否有一些解决方案可以避免设置一个恒定的宽度,并且仍然像在第二张图片上一样有布局结果?!

    提前谢谢你

    2 回复  |  直到 14 年前
        1
  •  0
  •   dhaag23    14 年前

    您可能希望给每个textview一个相等的布局权重,例如 android:layout_weight="1" 以及填充父对象的宽度。另外,不要给标签的线性布局赋予权重。另外,虽然我不知道布局文件后面会发生什么,但是有三个嵌套的linearlayout似乎是浪费。也许你能摆脱其中一个?

        2
  •  -1
  •   Lucas B    14 年前

    我建议重新开始并使用Eclipse设计器视图或使用 droiddraw 创建布局,特别是最近对布局编辑器进行了改进。