Sas*_*lli 4 android gradientdrawable
我有一个ShapeDrawable。我想以编程方式设置CornerRadius(TopLeftRadius和BottomLeftRadius)。
下面是我的xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="5dp"
android:bottom="5dp">
<shape android:shape="rectangle">
<corners android:topLeftRadius="20dp"
android:bottomLeftRadius="20dp"/>
<solid android:color="#A2D368"/>
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
像这样
float mRadius=3f;
GradientDrawable drawable=new GradientDrawable();
drawable.setShape(GradientDrawable.RECTANGLE);
drawable.setCornerRadii(new float[]{mRadius, mRadius, 0, 0, 0, 0, mRadius, mRadius});
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请单击此处
小智 5
GradientDrawable的使用setCornerRadii (float[] radii)方法。
一般来说,此方法采用大小为 8 的浮点数组。
对于 4 个角中的每一个,都需要 2 个半径值:x 半径和 y 半径。
角点在浮点数组中按左上角、右上角、右下角、左下角排序。
由于您要求左上和左下半径,因此需要将半径值设置为浮点数组的前 2 个和最后 2 个索引。
样品->
setCornerRadii(new float[]{50, 50, 0, 0, 0, 0, 50, 50})
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |