自定义Listview行textview文本将Imageview推向右侧

时间:2017-03-25 19:17:49

标签: android image listview textview row

我想用

创建一个简单的列表视图

image_Left + textview_center + image_Right但我遇到了一个问题(见图)enter image description here

textview推送image_Right解决此问题的任何解决方案

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffff"
android:orientation="horizontal"
android:padding="5dip" >
<LinearLayout android:id="@+id/thumbnail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="3dip"
    android:layout_alignParentLeft="true"
    android:background="#ffff"
    android:layout_marginRight="5dip">

    <ImageView
        android:id="@+id/list_image"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:src="@drawable/info"/>
</LinearLayout>
<TextView
    android:id="@+id/solutionText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textStyle="normal"
    android:typeface="normal"
    android:textColor="#383838"
    android:textSize="@dimen/activity_horizontal_margin"
    android:layout_centerVertical="true"
    android:layout_toRightOf="@+id/thumbnail"
    android:layout_toEndOf="@+id/thumbnail" />

<ImageView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/more"
    android:padding="4dp"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:id="@+id/imageView" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

我已对您的代码本身进行了一些更改,请尝试使用layout_weightweightSum属性的概念替换您的代码。有关权重的信息,请阅读this。祝你好运

<?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="wrap_content"
android:background="#ffff"
android:orientation="horizontal"
android:weightSum="10"
android:gravity="center_vertical"
android:padding="5dip" >

    <ImageView
        android:id="@+id/list_image"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="50dip"
        android:src="@drawable/info"/>

    <TextView
        android:id="@+id/solutionText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textStyle="normal"
        android:typeface="normal"
        android:textColor="#383838"
        android:layout_weight="6"
        android:textSize="@dimen/activity_horizontal_margin" />

    <ImageView 
        android:layout_weight="2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@drawable/more"
        android:padding="4dp"
        android:id="@+id/imageView" />

</LinearLayout>

答案 1 :(得分:0)

尝试此布局:使用android:layout_weight属性和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="wrap_content"
    android:background="#ffff"
    android:orientation="horizontal"
    android:padding="5dp"
    android:weightSum="4">

    <ImageView
        android:id="@+id/list_image"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight=".6"
        android:src="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/solutionText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="3"
        android:text="BLAH BLAH BLAH BLAHBLAHBLAH BLAH"
        android:textColor="#383838"
        android:textSize="@dimen/activity_horizontal_margin"
        android:textStyle="normal"
        android:typeface="normal" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".4"
        android:padding="4dp"
        android:src="@mipmap/ic_launcher" />

</LinearLayout>

输出:

enter image description here