左侧的Android布局文本和右侧的图像

时间:2013-04-05 01:45:44

标签: android xml relativelayout android-imageview

我正在尝试制作一个列表,其中图像始终位于布局的右侧。同时,如果没有图像,我会希望主题文本填满整个布局。

这是我希望实现的目标 当图像隐藏时 enter image description here
带图像
enter image description here

电流输出:
文字正面的图像。
enter image description here

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:padding="6dip" android:layout_height="?android:attr/listPreferredItemHeight">
    <TextView
        android:id="@+id/subject"        
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:text="Apple Orange Apple Orange Apple Orange Apple Orange Apple Orange Apple Orange"/>
    <TextView
        android:id="@+id/cdate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"       
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true" 
        android:textColor="#8000FF"       
        android:text="Date" />
    <ImageView  
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"      
        android:layout_alignParentRight="true" 
        android:layout_alignRight="@id/subject"
        android:src="@drawable/icon" />
</RelativeLayout>

2 个答案:

答案 0 :(得分:3)

试试这个......干杯:)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:padding="6dip" android:layout_height="?android:attr/listPreferredItemHeight">

<ImageView
    android:id="@+id/icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" 
    android:src="@drawable/icon" />

<TextView
    android:id="@+id/subject"        
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"    
    android:text="Apple Orange Apple Orange Apple Orange Apple Orange Apple Orange Apple Orange"
    android:layout_toLeftOf="@id/icon"/>
<TextView
    android:id="@+id/cdate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"       
    android:layout_alignParentLeft="true"
    android:layout_alignParentBottom="true" 
    android:textColor="#8000FF"       
    android:text="Date" />

答案 1 :(得分:1)

你应该这样做:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:padding="6dip" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:src="@drawable/mark_ok" />

    <LinearLayout
        android:id="@+id/leftblock"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/subject"
        android:layout_alignTop="@+id/subject"
        android:layout_toLeftOf="@+id/icon"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/subject"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Apple Orange Apple Orange Apple Orange Apple Orange Apple Orange Apple Orange" />

        <TextView
            android:id="@+id/cdate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Date"
            android:textColor="#8000FF" />
    </LinearLayout>

</RelativeLayout>