Android在textview中调整九个补丁图像的大小

时间:2013-03-03 21:09:02

标签: android screen nine-patch

我有一个应该围绕文本的九点图像(语音气泡)。当我设置textview的背景时,气泡显示为它应该没有指定宽度或高度(它应该调整到文本的内容)。我的问题是当从磁盘读取完全相同的图像时,图像被调整大小。

我在stackoverflow上已经阅读了很多不同的答案,但是没有找到任何对我有用的解决方案。

xml-file:

<TextView
        android:id="@+id/someText"
        android:layout_marginBottom="20dp"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:textColor="@android:color/background_dark"
        android:singleLine="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="This is a a line. "
        />

我已尝试调整图像(如此处所示)以下内容:

private Drawable adjustImage(Drawable image){
    if(image == null)
        return null;

    Bitmap bitmapOrg = ((BitmapDrawable) image).getBitmap();
    int width = bitmapOrg.getWidth();
    int height = bitmapOrg.getHeight();

    Matrix matrix = new Matrix();
    Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
            width, height, matrix, true);
    return new BitmapDrawable(resizedBitmap);
}

还尝试了另一个建议的解决方案:

TypedValue typedValue = new TypedValue();
//density none divides by the density, density default keeps the original size
typedValue.density = TypedValue.DENSITY_DEFAULT;
Drawable d = Drawable.createFromResourceStream(null, typedValue, fis, "test");'

但这两种解决方案都不适合我。谁知道我在这里缺少什么?

感谢。

0 个答案:

没有答案