1

我想使用 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 中。也许我应该将图像放在其他可绘制的文件夹中。

我应该添加或更改什么?

请帮我...

非常感谢 :)

4

1 回答 1

0

这通常不是与 imagesrc 尝试放置固定值的大小相同吗?

android:layout_width="wrap_content"
android:layout_height="wrap_content"
于 2013-11-11T15:54:30.427 回答