Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android TextView背景图像未根据文本调整大小_Android_Textview - Fatal编程技术网

Android TextView背景图像未根据文本调整大小

Android TextView背景图像未根据文本调整大小,android,textview,Android,Textview,我有一个文本视图,我已经设置了图像的背景。图像没有相对于文本调整大小 例如:-如果我的文本是“A”,则背景仍然相同,并且没有调整大小以适应文本。以下是textview的xml:- <TextView android:id="@+id/navmenusection_right_label_action" android:layout_width="wrap_content" android:layout_height="wrap_content" androi

我有一个文本视图,我已经设置了图像的背景。图像没有相对于文本调整大小

例如:-如果我的文本是“A”,则背景仍然相同,并且没有调整大小以适应文本。以下是textview的xml:-

<TextView
    android:id="@+id/navmenusection_right_label_action"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="10dp"
    android:background="@drawable/textview_round_background"
    android:ellipsize="end"
    android:gravity="center"
    android:singleLine="true"
    android:text="A"
    android:textColor="#fff"
    android:textSize="13sp"
    android:textStyle="bold"/>


现在我真的明白你的问题了。 Android并没有缩小图像背景。在您的示例中,背景是宽度给定器

出于您的目的,只需绘制一个9面片图像,您可以在其中声明拉伸的区域(尝试仅标记非圆角区域以获得更好的结果)以及显示内容的位置

谷歌有一个非常好的文档:

请记住,9个补丁的图像只是拉伸,并没有得到缩小,所以我只会使用最小宽度的图片。就这样做,做一个补丁


使用9补丁映像或创建您自己的这种类型的xml布局

在可绘制文件夹中创建bg.xml,并将其设置为文本背景

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp">
        <shape>
            <solid android:color="#000000" />
            <stroke
                android:width="1.2dp"
                android:color="#000000" />
            <corners android:radius="15dp" />
        </shape>
    </item>

</layer-list>


u为什么不使用9Patch图形?这是可调整大小视图的背景,请记住,9面片不会变小,而是变大,所以请绘制最小尺寸。您使用的是9面片吗?如果是,您是否也为图像设置了填充线?因为那可能是你的问题背景会拉伸但不会收缩。使用最小尺寸的补丁。或者,如果你不想使用9patch,可以使用更小版本的背景。这是图像。谁能像我一样为它创建一个小补丁;I don’我不知道怎么做你是怎么创造这个形象的。我用了你的图像得到了这个结果。它没有正确调整大小。它呈椭圆形。其实我不知道;我不知道如何创建一个9补丁的图像,所以请看一下上面的文档链接,android sdk附带了一个9补丁绘图软件,我还没有解决它。它工作不正常。图像未正确展开。你能为上面的图像创建一个九块补丁吗?它应该有像上面一样的圆角,即使文本是单个字符或20个字符。请自行制作!这是没有喧嚣,没有魔术,看看文件或在youtube上搜索它!是的,我用draw9patch.com制作了自己的;我帮不上忙。我试过了。见上图。看到圆角效果,它不是一个平面图像,我不知道如何创建一个9面片图像。你能创造它吗?请把它寄出去。谢谢