TextView Layout 2行和右对齐文本

时间:2018-03-12 18:07:28

标签: android textview

我想在屏幕截图中实现此布局:ImageView + 2行Textview - >左对齐,并在同一行我想添加另一个textView,但在行的右端。 enter image description here

我尝试了什么:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:orientation="vertical">

<ImageView
    android:id="@+id/imageViewIcon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:paddingRight="10dp"
    android:paddingLeft="10dp"
    android:layout_alignParentStart="true"
    android:paddingEnd="10dp"
    android:paddingStart="10dp"
    />

<TextView
    android:id="@+id/book_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/imageViewIcon"
    android:textSize="16sp"
    android:textColor="#468bff"
    android:layout_toEndOf="@+id/imageViewIcon"
 />

  <TextView
    android:id="@+id/author_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
   android:layout_below="@id/book_title"
        android:layout_toRightOf="@+id/imageViewIcon"
        android:layout_toEndOf="@+id/imageViewIcon" />

<TextView
    android:id="@+id/dist"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/book_title"
    android:layout_toEndOf="@+id/book_title"
    android:layout_centerVertical="true"
    android:gravity="end"
    />

正如你在上一次使用toRightOf的TextView中看到的,然后重力结束。这会导致将最后一个TextView放在2行上,因此它不会与右边对齐。

2 个答案:

答案 0 :(得分:0)

解决方案可以是多个。尝试这样的事情。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="8dp"
        android:orientation="vertical">

            <ImageView
                android:id="@+id/imageViewIcon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:paddingRight="10dp"
                android:paddingLeft="10dp"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_launcher"
                android:layout_alignParentStart="true"
                android:paddingEnd="10dp"
                android:paddingStart="10dp"
                />
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_toRightOf="@+id/imageViewIcon"
                android:layout_centerVertical="true"
                android:layout_toLeftOf="@+id/dist"
                android:orientation="vertical"
                android:layout_height="wrap_content">
                    <TextView
                        android:id="@+id/book_title"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_toRightOf="@+id/imageViewIcon"
                        android:textSize="16sp"
                        android:textColor="#468bff"
                        android:layout_toEndOf="@+id/imageViewIcon"
                        />

                    <TextView
                        android:id="@+id/author_name"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@id/book_title"
                        android:layout_toRightOf="@+id/imageViewIcon"
                        android:layout_toEndOf="@+id/imageViewIcon" />


            </LinearLayout>


            <TextView
                android:id="@+id/dist"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:gravity="end"
                />

 </RelativeLayout>

答案 1 :(得分:0)

尝试下面的布局:

<?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:orientation="horizontal">

<ImageView
    android:id="@+id/iv"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:background="@drawable/icon" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:weightSum="100"
    android:layout_marginStart="10dp"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:id="@+id/tv_1"
        android:textSize="20sp"
        android:layout_weight="60"
        android:text="SOME TITLE"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_2"
        android:layout_weight="40"
        android:text="Subtitle"/>

</LinearLayout>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="50dp" 
    android:text="150m"
    android:layout_marginStart="30dp"
    android:gravity="center"
    android:id="@+id/tv_3"/>

</LinearLayout>

输出:

enter image description here