如何在android上设置自定义可绘制背景?

时间:2013-06-21 06:33:02

标签: android layout nine-patch

我有这个资源 enter image description here

我使用这个9补丁图像作为我的列表项目背景。但是在我的布局xml上出现了问题,它显示如下:

enter image description here

如您所见,内容未正确放置在框内。 这是我定义列表项布局的方式:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:background="@android:color/transparent" >

<ImageView
    android:id="@+id/item_image"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:padding="5dp"
    android:orientation="vertical"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/item_image"
    android:background="@drawable/chat_left" >

    <TextView 
        android:id="@+id/item_text_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:textColor="#8cc751"
        android:textSize="20sp"
        android:text="Name"
        />
    <TextView 
        android:id="@+id/item_text_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:textColor="#909090"
        android:textSize="14sp"
        android:text="Message"
        />
</LinearLayout>

</RelativeLayout>

我不知道为什么会这样。任何的想法? 谢谢!

1 个答案:

答案 0 :(得分:0)

9补丁图片只是背景。你必须调整你的观点。请参阅..从您的图片M直接在N下方。因此,您可以将第二个textview或两者移动到某些像素,例如,您可以添加marginLeft

<TextView 
        android:id="@+id/item_text_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:layout_marginLeft="5dp"
        android:textColor="#909090"
        android:textSize="14sp"
        android:text="Message"
        />

我希望这个建议可以帮到你。