我试图展示图片的某个部分。
例如:
我尝试使用下面的代码从ClipDrawable
设置ImageView
Bitmap
,但它没有显示。
BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), bitmap);
ClipDrawable clipDrawable = new ClipDrawable(bitmapDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);
clipDrawable.setBounds(0, 0, bitmap.getWidth(), bitmap.getHeight());
clipDrawable.setLevel(5000);
imageView.setImageDrawable(clipDrawable);
我还通过查看BitmapDrawable
是否会显示完整图片并确实正确显示问题来测试以确保问题与imageView.setImageDrawable(bitmapDrawable)
无关。
如何使用Bitmap
显示ClipDrawable
的一小部分?
为什么图像没有显示?
我查看了this post,但接受的答案假定可以从资源中检索图像,而我会动态加载我的图像。
帖子android - How to cut some part of image and show it in imageview的答案不会使用ClipDrawable
回答我的问题,只需使用幻数来创建新的Bitmap
。
如果您在XML中设置Drawable
,则Android docs on ClipDrawable
仅解释如何解决此问题。
答案 0 :(得分:3)
您需要在设置关卡后调用clipdrawable上的invalidateSelf
,或者您应该尝试这样做:
imageView.setBackground(clipDrawable);
imageView.setImageResource(android.R.color.transparent);