Android各種圓角的實現

2021-10-17 01:31:14 字數 2317 閱讀 1736

1、普通的控制項使用sharp corners ,設定背景實現圓角

<?xml version="1.0" encoding="utf-8"?>

2、webview圓角,自定義webview

import android.content.context

import android.content.res.configuration

import android.graphics.*

import android.os.build

import android.util.attributeset

import android.webkit.webview

import androidx.annotation.requiresapi

class lollipopfixedwebview : webview

constructor(context: context, attrs: attributeset?) : super(

getfixedcontext(context),

attrs

) constructor(

context: context,

attrs: attributeset?,

defstyleattr: int

) : super(getfixedcontext(context), attrs, defstyleattr)

@requiresapi(api = build.version_codes.lollipop)

constructor(

context: context,

attrs: attributeset?,

defstyleattr: int,

defstyleres: int

) : super(

getfixedcontext(context),

attrs,

defstyleattr,

defstyleres

) companion object else

context}}

private var vradius = 15f

private var vwidth = 0

private var vheight = 0

private var x = 0

private var y = 0

private var paint1: paint? = null

private var paint2: paint? = null

private fun init()

fun setradius(radius: float)

override fun onmeasure(widthmeasurespec: int, heightmeasurespec: int)

override fun draw(canvas: canvas)

private fun drawleftup(canvas: canvas)

private fun drawleftdown(canvas: canvas)

private fun drawrightdown(canvas: canvas)

private fun drawrightup(canvas: canvas)

}

3、glide網路載入,圓角實現

override fun onbindviewholder(holder: viewholder, position: int)
4、android使用viewoutlineprovider實現圓角android可以通過設定view#setoutlineprovider方法來設定輪廓。

/**

* @param radius 圓角半徑

*/class roundrectoutlineprovider(private val radius: float) : viewoutlineprovider()

}

使用方法如下:

val coveroutline = roundrectoutlineprovider(3.px.tofloat())

view.outlineprovider = coveroutline

view.cliptooutline = true

android實現邊框圓角

1.在drawable 下新建 shape.xml 檔案 xml android radius為角的弧度,值越大角越圓。我們還可以把四個角設定成不同的角度,方法為 2.1設定成0dp無效,2.1以上版本可以,如果無效的話那就只能設成1dp了。2.設定引用 android background dra...

Android實現圓角邊框

設定邊框圓角可以在drawable mdpi目錄裡定義乙個xml 000000 10dp android toprightradius 10dp android bottomrightradius 10dp android bottomleftradius 10dp 解釋 solid的表示填充顏色,...

Android實現圓角邊框

設定邊框圓角可以在drawable mdpi目錄裡定義乙個xml 解釋 solid的表示填充顏色,為了簡單,這裡用的是黑色。而corners則是表示圓角,注意的是這裡bottomrightradius是左下角而不是右下角,bottomleftradius右下角。當然上面的效果也可以像下面一樣設定,如...