我想使用 imgHelpBelow imageView 背景图像的尺寸,而不是使用此图像的来源。
这是 imgHelpBelow imageView XML:
<ImageView
android:id="@+id/imgHelpBelow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/ImageView05"
android:layout_alignLeft="@+id/imgCaloriesBelow"
android:layout_alignRight="@+id/imgCaloriesBelow"
android:layout_marginBottom="19dp"
android:background="@drawable/bar_fill"
android:src="@drawable/bar_fill" />
这是代码:
private ImageView imgHelpBelow;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dashboard);
imgHelpBelow = (ImageView)findViewById(R.id.imgHelpBelow);
imgHelpBelow.setDrawingCacheEnabled(true);
imgHelpBelow.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
imgHelpBelow.layout(0, 0, imgHelpBelow.getMeasuredWidth(),imgHelpBelow.getMeasuredHeight());
imgHelpBelow.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(imgHelpBelow.getDrawingCache());
imgHelpBelow.setDrawingCacheEnabled(false); // clear drawing
int w = bitmap.getWidth();
int h = bitmap.getHeight();
Bitmap croppedBmp1 = Bitmap.createBitmap(bitmap, 0, 0, 120, h);
}
我得到的宽度和高度是图像源的而不是 imageView 背景的,其中尺寸应该更大,因此croppedBmp1 位图是从图像源而不是从 imageview 背景创建的。似乎所有这些使用 DrawingCache 的过程都不起作用。
图像放置在 res/drawable-xxhdpi 中。也许我应该将图像放在其他可绘制的文件夹中。
我应该添加或更改什么?
请帮我...
非常感谢 :)