2010-11-09 288 views
0

我有我的布局的一些行为。我给他们两个,彼此非常相似。文本浏览的宽度属性只有一个不同之处。布局问题。 Android

<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

可有人给我解释一下,为什么?

有没有一些解决方案避免设置一个恒定的宽度,仍然有像第二张照片一样的布局结果?

预先感谢您

回答

0

你可能想给每个TextView的这样的布局相同重量android:layout_weight="1"和FILL_PARENT的宽度。另外,不要给标签线性布局加权。另外,虽然我不知道布局文件后面会发生什么,但有三个嵌套的LinearLayout似乎可能会浪费。也许你可以摆脱其中之一?

+0

是的,你是对的我还没有给整个布局,我以前。我在左右两侧有两个按钮。这就是为什么选项卡LL有重量1.我只是无法解释,为什么使用wrap_content第五项看起来很奇怪 – Tima 2010-11-09 19:41:50

+0

但你知道,你给了我一个主意:)我会尝试明天创建与表格布局的东西:) – Tima 2010-11-09 19:44:39

-1

我建议重新开始并使用eclipse设计器视图或使用droiddraw来创建布局,尤其是因为最近对布局编辑器进行了改进。

+0

Droiddraw是非常没有数据,不支持很多布局部件。日食设计师对复杂的视图没有用处。 – Falmarri 2010-11-09 18:36:25

+0

你有推荐的东西吗? – 2010-11-09 18:37:29

+0

这是Eclipse设计师的截图。是的,我也在模拟器中尝试过我的布局。可能在我的布局中,唯一不好的地方是很多线性布局 – Tima 2010-11-09 19:43:47