0

下图可以显示我想要得到的最终结果。

在此处输入图像描述

答:如果我输入较小的值,图像(包含矩形)就可以了。

B:如果我输入较大的值,图像不会重新调整,而是保持相同的宽度。

C:是我想要的最终结果。矩形将自己调整为 textview 值的长度。

我想知道是否可以仅在 XML 中获得该结果?我当前的代码如下:

<ImageView 
    android:id="@+id/image"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:layout_marginRight="0dp"
    android:layout_marginTop="0dp"
    android:background="@drawable/bg_sendsuccess"
/>

<TextView 
    android:id="@+id/numberId"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/numberId"
    android:textSize="22sp"
    android:textColor="#fff"
    android:textStyle="bold"
    android:layout_marginTop="3dp"
    android:layout_marginRight="5dp"
    android:layout_alignParentRight="true"
/>
4

2 回答 2

1

如果您使用的背景只是一个简单的矩形,您可以从 xml 创建该背景图像并将其设置为您TextView的背景。

drawable在文件夹中创建一个文件res夹。并在该drawable文件夹中创建一个 xml 文件(形状)(让我们称之为text_background.xml

text_background.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<!-- Rounded Corner Settings -->
<corners
    android:bottomLeftRadius="8dp"
    android:bottomRightRadius="8dp"
    android:topLeftRadius="0dp"
    android:topRightRadius="0dp" />

<!-- Rectangle Solid Color Settings -->
<solid android:color="#ffffff" />

<!-- Rectangle Stroke Settings -->
<stroke
    android:width="1dp"
    android:color="#000000" />

</shape>

然后在您的layoutxml 中将此形状添加到您的TextViewasbackground

<TextView 
android:id="@+id/numberId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/numberId"
android:textSize="22sp"
android:textColor="#fff"
android:textStyle="bold"
android:layout_marginTop="3dp"
android:layout_marginRight="5dp"
android:layout_alignParentRight="true"
android:background="@drawable/text_background"
/>

ImageView从布局中删除,因为您不再需要它。希望这可以帮助

于 2013-11-14T14:56:11.287 回答
0

我猜你想要做的是为你的TextView. 您需要将 9patch 设置为TextView. 这 wa,它将永远充满您的TextView内容。

于 2013-11-14T14:20:54.293 回答