我有一个应该围绕文本的九点图像(语音气泡)。当我设置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");'
但这两种解决方案都不适合我。谁知道我在这里缺少什么?
感谢。