0

我有一个 textview 定义如下:

 <TextView
    android:id="@+id/message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="16dp"
    android:textStyle="bold"
    android:textColor="#000000"
    android:gravity="center"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="27dp"
    android:background="@drawable/text_pop_up"
    android:clickable="true"
    android:onClick="onClick" />

我的最终目标是将这个 textview 一分为二。带有标题的顶部(只是一个字体较大的文本和左侧的小缩略图。

这是我想要实现的最终设计(红色图像是图像)。请告诉我我该如何追求这个?

http://i.imgur.com/sdm1fu7.png

4

3 回答 3

2

您可以使用android:drawableLeft/Right/Top/Bottom在 TextView 中放置 Drawable。这与 TextView 和 ImageView 非常相似。要调整 Drawable 的位置,您可以使用android:drawablePadding="10dp"fe

 <TextView
    android:id="@+id/message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="16dp"
    android:textStyle="bold"
    android:textColor="#000000"
    android:gravity="center"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="27dp"

    android:drawableLeft="@drawable/text_pop_up"
    android:drawablePadding="10dp"

    android:clickable="true"
    android:onClick="onClick" />

对于此 TextView 下面的文本,我建议使用第二个 TextView 来独立格式化两个文本。

您可以使用 LinearLayout 并将两个 TextViews 作为子项放置在其中。

于 2013-08-19T15:34:39.537 回答
0

使用 android:drawableLeft 属性将图像设置在文本框的左侧

于 2013-08-19T15:54:41.097 回答
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="vertical" >

    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="27dp"
        android:clickable="true"        
        android:drawableLeft="@drawable/ic_launcher"        
        android:gravity="center_vertical"
        android:onClick="onClick"        
        android:textColor="#000000"
        android:text="Sample"
        android:textSize="16dp"
        android:textStyle="bold" />

    <!-- separator -->

    <include layout="@layout/separator"/>  

    <TextView
        android:id="@+id/message"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"        
        android:layout_marginBottom="27dp"
        android:clickable="true" 
        android:onClick="onClick"        
        android:textColor="#000000"
        android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
        android:textSize="16dp"
         />

</LinearLayout>

其中

android:drawableLeft将用作在文本左侧显示图像的图像视图。

并将android:text在图像旁边显示标题。

第二个TextView将在图像和标题下方显示消息。

两者都将被放置在一个集合LinearLayout中。orientationvertical

您可以使用以下代码作为两个 TextView 之间的分隔符:

res/separotor.xml

<?xml version="1.0" encoding="utf-8"?>
<View xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/separator"
      android:layout_width="match_parent"
      android:layout_height="1dip"
      android:background="@color/black">
</View>
于 2013-08-19T16:29:03.143 回答