根据内容调整9个补丁图像的大小

时间:2015-06-02 10:56:29

标签: android nine-patch

我需要我的9补丁图片来包装内容。如果有一个小文本,那么包装该文本应该非常小。如果图像没有文字,它也应该包裹它。 这是我的9补丁png:

9-patch

但是这里的内容看起来像是什么:

Message

这是xml文件中的代码:

<RelativeLayout
    android:id="@+id/message_text_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/other_user_layout"
    android:layout_toLeftOf="@+id/user_layout"
    android:layout_below="@id/message_date"
    >
    <TextView
        android:id="@+id/message_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/white"
        android:layout_marginTop="@dimen/margin"
        />
    <ImageView
        android:id="@+id/message_picture"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:layout_centerInParent="true"
        android:scaleType="fitCenter"/>
</RelativeLayout>

我以编程方式将背景设置为此相对布局。 如何使此消息布局完全适合内容而不是在整个屏幕上拉伸。

2 个答案:

答案 0 :(得分:0)

问题在于:

android:layout_toRightOf="@id/other_user_layout"
android:layout_toLeftOf="@+id/user_layout"

我根据消息作者以编程方式设置其中一个。

答案 1 :(得分:0)

尝试仅使用textview

<TextView
    android:id="@+id/message_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/white"
    android:layout_marginTop="@dimen/margin"
    android:layout_background="@drawable/img"/>

而不是

<RelativeLayout
android:id="@+id/message_text_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/other_user_layout"
android:layout_toLeftOf="@+id/user_layout"
android:layout_below="@id/message_date"
>
<TextView
    android:id="@+id/message_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/white"
    android:layout_marginTop="@dimen/margin"
    />
<ImageView
    android:id="@+id/message_picture"
    android:layout_width="wrap_content"
    android:layout_height="100dp"
    android:layout_centerInParent="true"
    android:scaleType="fitCenter"/>