Android Rect、RectF类

1.Rect介绍

Rect就是用来存放坐标的地方,android用它来表示一个矩形,总结来说就是用左上角的坐标和右下角的坐标来表示一个矩形。它由4个坐标(left,top,right,bottom) 来组成一个矩形,在 android中很多地方都用到矩形,用他来确定位置这是android中常用的手法。如
(0,0,100,100)表示在原点开始组成一个长宽为100,100的矩形
(20,30,150,100)表示组成一个长为(150-20)宽为(100-30)的矩形

2.Rect相关方法

  • contains()方法:

判断点是否在矩形之中

  • intersect()方法:

判断两个矩形是否有交集

  • inset()方法:

在矩形内部移动,inset(int dx,int dy)表示left和right各向内移动dx,top和bottom各向内移动dy

  • offset()方法、offsetTo()方法:

offset(int dx,int dy)表示矩形左上角在原有位置上再偏移dx、dy个像素,offsetTo(int dx,int dy)表示直接将矩形的左上角移到dx,dy的位置。即offset()方法是相对移动,offsetTo()方法是绝对移动

3.Rect和RectF的区别

F代表float,其值可以为小数,Rect则是整数

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中设置圆角的方法有两种:使用xml文件设置和使用Java代码动态设置。 1. 使用xml文件设置圆角 在drawable文件夹下新建一个shape.xml文件,然后在文件中添加如下代码: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:radius="10dp"> <solid android:color="#ffffff" /> <corners android:radius="10dp" /> </shape> ``` 其中,android:radius属性表示整个矩形的圆角半径,corners标签中的android:radius属性表示四个角的圆角半径。如果需要单独控制某一个角的显示样式,可单独设置四个角的值,例如: ```xml <corners android:radius="10dp" android:topLeftRadius="0dp" android:topRightRadius="10dp" android:bottomRightRadius="0dp" android:bottomLeftRadius="10dp" /> ``` 2. 使用Java代码动态设置圆角 ```java // 加载图片 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image); // 创建一个空的Bitmap Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); // 创建一个画布 Canvas canvas = new Canvas(output); // 创建一个画笔 Paint paint = new Paint(); // 创建一个矩形 Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); // 创建一个圆角矩形 RectF rectF = new RectF(rect); // 设置圆角半径 float roundPx = 20; // 绘制圆角矩形 paint.setAntiAlias(true); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); // 设置图像的叠加模式 paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); // 绘制图像 canvas.drawBitmap(bitmap, rect, rect, paint); // 显示图像 ImageView imageView = (ImageView) findViewById(R.id.image_view); imageView.setImageBitmap(output); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值