在RelativeLayout中包含多个TextView的单行

时间:2014-05-28 07:27:54

标签: android android-layout

我有一个包含四个TextView的列表视图的自定义行。

以下是我正在创建的布局的屏幕截图:

problem

多个TextView的原因是因为我需要在每个textview上使用不同的样式。粗体名称例如。

这是XML布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imgPhoto"
        android:src="@color/Red"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_margin="10dp" />

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_toRightOf="@+id/imgPhoto"
        android:padding="10dp"
        android:id="@+id/relativeLayout">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Name"
            android:id="@+id/txtName"
            android:textStyle="bold" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="viewed a promotion by"
            android:id="@+id/txtAction"
            android:layout_marginLeft="5dp"
            android:layout_toRightOf="@+id/txtName" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Dominos Pizza"
            android:id="@+id/txtMerchant"
            android:layout_marginLeft="5dp"
            android:layout_toRightOf="@+id/txtAction" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="14 seconds ago"
            android:id="@+id/txtAgo"
            android:layout_marginLeft="5dp"
            android:layout_toRightOf="@+id/txtMerchant" />
    </RelativeLayout>

</RelativeLayout>

这是我想要实现的截图:

correct

问题是如何将TextViews包装起来,使其适合RelativeLayout,如图2所示?或者我可以使用其他任何替代方法来实现我在这里寻找的东西吗?

2 个答案:

答案 0 :(得分:1)

我认为通过HTML代码可以实现。您应该使用CSS来包装文本,然后设置到视图中。

答案 1 :(得分:1)

仅使用一个TextView并使用html更改样式。例如:

textView.setText(Html.fromHtml("<h2>This</h2><br><p>is an example.</p>"));