马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Android结构layout的draw轻便clipPath实现圆角矩形结构,Kotlin
通常,如果要把一个相对结构,FrameLayout,大概线性结构等如许的结构变成具有圆角大概圆形的结构,须要增长一个style,给它设置圆角,现在通过上层动态Kotlin代码重写draw方法,很简朴实现圆角矩形的恣意结构:
- import android.content.Context
- import android.graphics.Canvas
- import android.graphics.Path
- import android.util.AttributeSet
- import android.widget.RelativeLayout
- class MyLayout : RelativeLayout {
- private var mRadius = 100f //半径
- private val mPath = Path()
- constructor(ctx: Context, attributeSet: AttributeSet) : super(ctx, attributeSet) {
- }
- //onDraw里面并不能简单实现,换用draw就很容易实现。
- override fun draw(canvas: Canvas) {
- canvas.save()
- mPath.addRoundRect(0f, 0f, measuredWidth.toFloat(), measuredHeight.toFloat(), mRadius, mRadius, Path.Direction.CW)
- canvas.clipPath(mPath)
- super.draw(canvas)
- canvas.restore()
- }
- }
复制代码 xml直接使用:
- <?xml version="1.0" encoding="utf-8"?>
- <com.myapp.MyLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@android:color/holo_red_dark"
- tools:context=".MainActivity">
- <ImageView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:scaleType="centerCrop"
- android:src="@mipmap/pic" />
- </com.myapp.MyLayout>
复制代码 终极:
Android基于Path的addRoundRect,Canvas剪切clipPath轻便的圆形图实现,Kotlin(2)-CSDN博客文章欣赏阅读449次,点赞5次,收藏3次。Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案RoundedBitmapDrawable是Android在support v4的扩展包中新增的实现圆角图形的关键类,借助RoundedBitmapDrawable的资助,可以轻松的以Android标准方式实现圆角图形图象。头像有标准的四方形,也有圆形(如QQ)。Android程度渐变色圆角矩形一个Android程度渐变色圆角矩形,如图:实在实现很简朴,紧张感觉颜色渐变,圆角弧度比力漂亮,故记载下来。https://blog.csdn.net/zhangphil/article/details/144586951Android基于Path的addRoundRect,Canvas剪切clipPath轻便圆形图用Matrix实现旋转角度,Kotlin(3)-CSDN博客文章欣赏阅读30次。Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案RoundedBitmapDrawable是Android在support v4的扩展包中新增的实现圆角图形的关键类,借助RoundedBitmapDrawable的资助,可以轻松的以Android标准方式实现圆角图形图象。Android程度渐变色圆角矩形一个Android程度渐变色圆角矩形,如图:实在实现很简朴,紧张感觉颜色渐变,圆角弧度比力漂亮,故记载下来。https://blog.csdn.net/zhangphil/article/details/144588050
Android基于Path的addRoundRect,Canvas剪切clipPath轻便的圆角矩形实现,Kotlin(1)-CSDN博客文章欣赏阅读615次,点赞8次,收藏4次。Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案RoundedBitmapDrawable是Android在support v4的扩展包中新增的实现圆角图形的关键类,借助RoundedBitmapDrawable的资助,可以轻松的以Android标准方式实现圆角图形图象。头像有标准的四方形,也有圆形(如QQ)。Android程度渐变色圆角矩形一个Android程度渐变色圆角矩形,如图:实在实现很简朴,紧张感觉颜色渐变,圆角弧度比力漂亮,故记载下来。https://blog.csdn.net/zhangphil/article/details/144586015
|