调整两个TextView的在LinearLayout中旁边的一个ImageView的

问题描述:

我有这样的布局:调整两个TextView的在LinearLayout中旁边的一个ImageView的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@style/fill_parent" 
    android:background="@color/white" 
    android:padding="2dip"> 

    <ImageView 
     android:id="@+id/img_album"   
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent"   
     android:layout_marginRight="6dip" 
     android:layout_centerVertical="true" 
     android:padding="5dp"  
     /> 
    <LinearLayout 
     style="@style/fill_parent" 
     android:orientation="horizontal" 
     android:layout_toRightOf="@id/img_album" 
     android:layout_centerVertical="true"> 
    <TextView 
     android:id="@+id/album_title" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"      
     android:singleLine="true"       
     android:textColor="@color/black"    
     android:layout_marginRight="10dp" 
     /> 

    <TextView   
     android:id="@+id/picts_number" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"     
     android:textColor="@color/black"   
     /> 
    </LinearLayout> 
</RelativeLayout> 

这给了我这个图片:

enter image description here

我不知道为什么我不明白的标题专辑,然后是皮卡的数量。

好吧,我做了一件用layout_weight财产:

<TextView 
     android:id="@+id/album_title" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"      
     android:singleLine="true"       
     android:textColor="@color/black"    
     android:layout_marginRight="10dp" 
     android:layout_weight="1" 
     /> 

<TextView   
    android:id="@+id/picts_number" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"     
    android:textColor="@color/black"  
    android:layout_weight="1" /> 

而且我真的不知道为什么,我现在得到的数量,旁边的标题,如

enter image description here

莫非有人告诉我:

  1. 为什么我没有得到数字第一场景,但我在第二场。

  2. 如何扩展文本Linearyout的全部宽度,所以 第二文本“智能手机......”犯规得到舒展,但其符合母公司 。

谢谢!

使用width = 0dip和weigth = 1,我做到了!

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@style/fill_parent" 
    android:background="@color/white" 
    android:padding="2dip"> 

    <ImageView 
     android:id="@+id/img_album"   
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent"   
     android:layout_marginRight="6dip" 
     android:layout_centerVertical="true" 
     android:padding="5dp"  
     /> 
    <LinearLayout 
     style="@style/fill_parent" 
     android:orientation="horizontal" 
     android:layout_toRightOf="@id/img_album" 
     android:layout_centerVertical="true"  
     android:id="@+id/album_details"> 
    <TextView 
     android:id="@+id/album_title" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content"      
     android:singleLine="true"       
     android:textColor="@color/black"    
     android:layout_marginRight="30dp"   
     android:textSize="17sp" 
     android:layout_weight="1" 
     /> 

    <TextView   
     android:id="@+id/picts_number" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"     
     android:textColor="@color/black"  
     android:layout_weight="0" 
     android:textSize="17sp" 
     android:layout_gravity="right" 
     android:layout_marginRight="10dp" 
     /> 
    </LinearLayout> 
</RelativeLayout> 

尝试使用FrameLayout而不是RelativeLayout。用这个来构建你的布局真的很容易。事情是这样的,但大小和样式适应:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/white" 
    android:padding="2dp"> 

    <ImageView 
     android:id="@+id/img_album"   
     android:layout_width="50dp" 
     android:layout_height="fill_parent"   
     android:layout_marginRight="6dp" 
     android:cropToPadding="true" 
     android:layout_centerVertical="true" 
     android:padding="5dp"  
    /> 

    <TextView 
     android:id="@+id/album_title" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="50dp" 
     android:layout_gravity="center"    
     android:singleLine="true"       
     android:textColor="@color/black"    
     android:layout_marginRight="50dp" 
    /> 

    <TextView   
     android:id="@+id/picts_number" 
     android:layout_width="50dp" 
     android:layout_height="wrap_content"  
     android:layout_gravity="right|center_vertical"      
     android:textColor="@color/black"   
    /> 
</FrameLayout> 
+0

谢谢波旁威士忌,但我想了解RelativeLayout和LinearLayout。 – Dayerman 2012-01-15 23:26:46

+0

没问题:-)不要忘记这个链接:http://developer.android.com/design/index.html – Bourbon 2012-01-16 00:53:35