在创建主题之前检查主题
我想将遮罩应用于ImageView,例如从pic1到pic2,但它是由多个渐变形成的。
起初我正在使用
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="36dp" />
</shape>
然后添加了solid
然后尝试了FrameLayout
然后尝试从链接5添加库。没有提出的方法确实应用了掩码。图书馆导致错误
getMenuInflater().inflate(R.menu
if (id == R.id.action_settings
无法解决menu
和action_settings.
为什么答案被接受但我无法重现?我在xml文件中缺少什么?即使复制粘贴整个ImageView +形状也无济于事
仅通过java的最终解决方案(@pskink提出的原创想法)
ImageView img = (ImageView) findViewById(R.id.img);
Bitmap src1 = BitmapFactory.decodeResource(getResources(), R.drawable.img_port);
RoundedBitmapDrawable dr1 = RoundedBitmapDrawableFactory.create(getResources(), src1);
dr1.setCornerRadius(Math.max(src1.getWidth(), src1.getHeight()) / 10f);
img.setImageDrawable(dr1);
另一个简单的解决方案来自xml enter link description here,即
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="15dp" />
<solid/>
</shape>
和ImageView.setClipToOutline(true)
在活动中。附加说明:这不起作用