我有一些布局的行为。我给他们两个,彼此非常相似。只有一个区别是textviews的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>
如果layout_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="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),我的布局看起来如此,我希望它有:
有人可以解释一下,为什么?!
是否有一些解决方案可以避免设置一个恒定的宽度并且仍然像第二张图片那样有布局结果?!
提前谢谢
答案 0 :(得分:0)
您可能希望为每个TextView提供相等的布局权重,例如android:layout_weight="1"
和fill_parent的宽度。另外,不要为标签线性布局赋予权重。另外,虽然我不知道布局文件后面会发生什么,但是有三个嵌套的LinearLayouts似乎可能会浪费。也许你可以摆脱其中一个?
答案 1 :(得分:-1)
我建议重新开始并使用eclipse设计器视图或使用droiddraw来创建布局,尤其是因为布局编辑器最近有了改进。