Android 圆角图片

效果图:

快速开始

  1. activity_main.xml文件。
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity">    <ImageView        android:id="@+id/iv_img"        android:layout_width="300dp"        android:layout_height="200dp"        android:layout_marginTop="30dp"        android:src="@mipmap/image_bg"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintTop_toTopOf="parent"/>    <ImageView        android:id="@+id/iv_rect_img"        android:layout_width="300dp"        android:layout_height="200dp"        android:layout_marginTop="30dp"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintTop_toBottomOf="@id/iv_img"/>    <ImageView        android:id="@+id/iv_circle_img"        android:layout_width="200dp"        android:layout_height="200dp"        android:layout_marginTop="30dp"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toBottomOf="@id/iv_rect_img"/></android.support.constraint.ConstraintLayout>
  1. MainActivity.class文件。
public class MainActivity extends AppCompatActivity {    private ImageView ivRectImg, ivCircleImg;    private Bitmap bitmap;    private int width;    private int height;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ivRectImg = findViewById(R.id.iv_rect_img);        ivCircleImg = findViewById(R.id.iv_circle_img);        bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.image_bg);        width = bitmap.getWidth();        height = bitmap.getHeight();        rectRoundBitmap();        circleBitmap();    }// 圆角矩形    private void rectRoundBitmap() {        RoundedBitmapDrawable bitmapDrawable = RoundedBitmapDrawableFactory.create(getResources(), bitmap);        bitmapDrawable.setAntiAlias(true);        bitmapDrawable.setCornerRadius(50);        ivRectImg.setImageDrawable(bitmapDrawable);    }    // 把bitmap图片进行剪切成正方形, 然后再设置圆角半径为正方形边长的一半即可    private void circleBitmap() {        Bitmap circle = null;        int min = Math.min(width, height);        int max = Math.max(width, height);        if (width == height) {            circle = Bitmap.createBitmap(bitmap, 0, 0, width, height);        } else {            // 居中裁剪            if (width > height) {                circle = Bitmap.createBitmap(bitmap, (max - min) / 2, 0, min, min);            } else {                circle = Bitmap.createBitmap(bitmap, 0, (max - min) / 2, min, min);            }        }        RoundedBitmapDrawable bitmapDrawable = RoundedBitmapDrawableFactory.create(getResources(), circle);        bitmapDrawable.setCornerRadius(min / 2);        bitmapDrawable.setAntiAlias(true);        ivCircleImg.setImageDrawable(bitmapDrawable);    }}

更多相关文章

  1. Android(安卓)支持 Java8
  2. Android文件存储
  3. openGL 简单demo
  4. Android(安卓)播放资源文件视频
  5. android listview 设置点击效果selector
  6. Android:Android.bat批处理命令
  7. android 日志文件输出
  8. Android(安卓)app自动更新总结(已适配9.0)
  9. gradle 配置文件 build.gradle 属性详解

随机推荐

  1. android:textAppearance是什么意思
  2. 源码解析Android中AsyncTask的工作原理
  3. pandaboard ES学习之旅——4 Android源代
  4. Android(安卓)多个Activity选项卡实现
  5. android 电容屏(二):驱动调试之基本概念篇
  6. Android中创建对话框
  7. android adb
  8. 跟着做 Android(安卓)NDK学习入门如此简
  9. Android按键添加和处理的方案
  10. Android——编译release版签名系统