Android布局帮助

时间:2010-09-29 09:59:02

标签: android

我有一个列表视图,我必须设计一个要在适配器中使用的行布局。布局是这样的。

First column we have an icon on left most side. 
Second column we have a string of about 4-30 characters 
Last column, the date with time. 

我尝试在相对布局中进行设计,但是它给出的问题就像最后两列的字符串重叠一样。我想为列指定一定宽度的百分比,如果字符串不适合,它必须从新行开始(相同的行,以重力为中心)。这是行布局,所以我不希望它非常沉重。而且我不想在dp中硬编码宽度。

3 个答案:

答案 0 :(得分:1)

试试这个布局

<?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" >
    <ImageView
        android:src="@drawable/image"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" />    
    <TextView  
        android:text="Lorem ipsum dolor sit amet, consectetuer adipiscing elit"
        android:gravity="center_horizontal"
        android:layout_weight="1.0"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" />
    <TextView
        android:text="23.10.2010 23:34:52"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

答案 1 :(得分:0)

答案 2 :(得分:0)

以谢尔盖的代码为基础(我相信这不会完全解决问题)。我指定比率为1/2:1/1:1/3(对于图像:字符串:日期);

<?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="wrap_content" >
    <ImageView
        android:src="@drawable/image"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:layout_weight="2" />    
    <TextView  
        android:text="Lorem ipsum dolor sit amet, consectetuer adipiscing elit"
        android:gravity="center_horizontal"
        android:layout_weight="1"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" />
    <TextView
        android:text="23.10.2010 23:34:52"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="3" />
</LinearLayout>