通过xml的Imageview圆角和蒙版形状在AS 3.0中不起作用

问题描述 投票:-1回答:1

在创建主题之前检查主题

  1. Mask layout with rounded corner xml shape
  2. Mask ImageView with round corner background
  3. How can I make rounded (circled) ImageView box on Android Studio?
  4. ImageView in circular through xml
  5. https://inducesmile.com/android/how-to-make-circular-imageview-and-rounded-corner-imageview-in-android/

我想将遮罩应用于ImageView,例如从pic1pic2,但它是由多个渐变形成的。

起初我正在使用

<?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

无法解决menuaction_settings.

为什么答案被接受但我无法重现?我在xml文件中缺少什么?即使复制粘贴整个ImageView +形状也无济于事

android image android-layout
1个回答
0
投票

仅通过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)在活动中。附加说明:这不起作用

© www.soinside.com 2019 - 2024. All rights reserved.