我想使用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中。也许我应该将图像放在其他可绘制的文件夹中。
我应该添加或更改哪些内容?
请帮帮我......
非常感谢:)
答案 0 :(得分:0)
这通常与imagesrc尝试输入固定值的大小相同吗?
android:layout_width="wrap_content"
android:layout_height="wrap_content"