2012-05-16 91 views
0

衝突的我有兩個的LinearLayout的Android LinearLayouts彼此

一個包含帶有patch9圖像作爲語音泡和另一個與一個TextView和ImageView的

當我嘗試鍵入到的EditText是開始一個的EditText擴大朝向右手側,然後開始減小第二的LinearLayout的寬度(細碎的圖像)

XML是

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@color/white" 
android:gravity="center" 
android:orientation="vertical" > 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="left" 
     android:orientation="vertical" > 

     <EditText 
      android:id="@+id/summaryMessage" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="@drawable/greeting_bubble_white" 
      android:gravity="center" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="right" 
     android:orientation="vertical" > 

     <ImageView 
      android:id="@+id/summaryImage" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/picture_frame" /> 

     <TextView 
      android:id="@+id/summaryText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:paddingLeft="10dp" /> 
    </LinearLayout> 
</LinearLayout> 

</LinearLayout> 

看起來這

enter image description here

任何想法?

回答

1

其不斷擴大的,因爲你已經指定了你LinearLayoutlayout_width應該是「wrap_content」,你應該指定一個固定的與DPS維度,所以它不會擴大。 其它用途的weight標籤

嘗試這個修改:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@color/white" 
android:gravity="center" 
android:orientation="vertical" > 
<LinearLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:gravity="center" 
android:orientation="horizontal" 
android:layout_weight="0.7"> 

    <EditText 
     android:id="@+id/summaryMessage" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="@drawable/greeting_bubble_white" 
     android:gravity="center" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.3" 
    android:gravity="right" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/summaryImage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/picture_frame" /> 

    <TextView 
     android:id="@+id/summaryText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:paddingLeft="10dp" /> 
</LinearLayout> 

不過我建議更多的是你使用這一個:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/white" 
android:gravity="center" 
android:orientation="horizontal" > 

     <EditText 
      android:id="@+id/summaryMessage" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_weight="0.7" 
      android:background="@drawable/greeting_bubble_white" 
      android:gravity="center" /> 

     <TextView 
      android:id="@+id/summaryText" 
      android:layout_weight="0.3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:paddingLeft="10dp" /> 
</LinearLayout> 

和你使用複合博士你的summaryText awesomes這裏是一個鏈接,應該可以幫助你:Using Compund Drawables

+0

我改變了根LinearLayout爲wrap_content和仍然是相同的結果。我已經嘗試了權重標籤,如第一篇文章中所示。什麼是DPS? – user1177292

+0

我試過了你的建議,但是edittext是在垂直方向上的image/textview之上。我需要同一水平佈局的edittext和image/textview,左邊的edittext和右邊的image/textview – user1177292

+0

請閱讀這篇關於dps的文章:http://developer.android.com/guide/practices/screens_support的.html#密度獨立性 – Raykud

0

使用相對佈局,佈局編輯器其實相當好,所以用它來定位你的看法

+0

我覺得LinearLayout容易理解,所以寧願堅持LinearLayout – user1177292