16

這是我的佈局:layout_gravity在的LinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/LinearLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/LinearLayout2" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="left" 
      android:layout_marginLeft="5dip" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:textColor="#ffffff" > 
     </TextView> 
    </LinearLayout> 

    <LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/LinearLayout3" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/nazajGumb" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="@string/roaming_backbtn" > 
     </Button> 

     <Button 
      android:id="@+id/homeBtn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:text="@string/roaming_homebtn" > 
     </Button> 
    </LinearLayout> 

    <Spinner 
     android:id="@+id/spinner" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="15dip" 
     android:prompt="@string/roaming_spinnerPrompt" /> 

    <TextView 
     android:id="@+id/tv1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:text="Random text" 
     android:textColor="#ffffcc" /> 

    <Button 
     android:id="@+id/testBtn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="test" > 
    </Button> 
</LinearLayout> 

的ImageView和TextView的在LinearLayout2定位和在LinearLayout3按鈕positiong不工作(使用佈局重力)。

我在這裏失蹤了什麼?

+1

你的意思是不是工作?像他們都是左對齊...? – chustar

+0

是的,他們都左對齊。 – DixieFlatline

+1

如果您將線性佈局方向設置爲「水平」,則重力向左或向右不起作用。將它設置爲垂直將使這成爲可能。我只是不確定你在這裏試圖完成什麼...... – Boy

回答

64

這不是android:layout_gravity的工作方式。 leftcenter_horizontal參數都只在android:orientationvertical時有效。爲了達到你想要什麼,你最好使用RelativeLayout

<RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 

     <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_marginLeft="5dip"/> 

     <TextView 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:textColor="#ffffff"/> 
    </RelativeLayout>  
+0

Tnx。這是一個錯誤或規則,您不能在線性佈局的水平方向上使用左/中間水平方向? – DixieFlatline

+10

這不是一個錯誤。只是一個功能。 – Cristian

+9

我不認爲你需要'RelativeLayout'中的'android:orientation'屬性。 – DroidDev

-17
android:layout_marginLeft="5dip" 

應該是(DP不沾)

android:layout_marginLeft="5dp" 
+9

它們實際上是等價的,並不能解決問題。 – Cristian

+2

事實上,據報道,儘管文檔說明它們是相同的,但dp有時無法在傾角下工作。 – Zulaxia

相關問題