Поместить два textView в LinearLayout рядом с ImageView - PullRequest
1 голос
/ 16 января 2012

У меня есть этот макет:

    <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. Почему я не получаю число в 1-м сценарии, а я получаю во 2-м,

  2. Как развернуть текст на всю ширину линейного выхода, чтобы второй текст «Смартфоны ...» не растягивался, но соответствовал своему родителю.

Спасибо!

Ответы [ 2 ]

1 голос
/ 16 января 2012

Используя width = 0dip и вес = 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>
0 голосов
/ 16 января 2012

Попробуйте сделать это с 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...