带有图像的textview中的标题

时间:2013-08-19 15:05:12

标签: android textview

我有一个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

3 个答案:

答案 0 :(得分:2)

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

 <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作为子项放在其中。

答案 1 :(得分:0)

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

答案 2 :(得分: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将在图片和标题下方显示消息。

两者都将放置在LinearLayoutorientation设置为vertical

您可以使用以下代码作为两个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>