随笔 - 245  文章 - 0  评论 - 11  阅读 - 50万

Android动态设置shape形状背景,GradientDrawable动态设置背景色、圆角

1、静态设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--填充色-->
    <!--<solid android:color="#FF409DFE"></solid>-->
    <solid android:color="#00000000"></solid>
 
    <!-- 矩形的边线 -->
    <!--<stroke android:color="#7097E4"
        android:width="1dp"></stroke>-->
 
    <!--圆角大小-->
    <corners
        android:bottomRightRadius="18dp"
        android:topRightRadius="18dp"
        ></corners>
    <!--android:radius="10dp"-->
 
    <!--android:topLeftRadius="7dp"
    android:bottomLeftRadius="7dp"-->
</shape>

  

2、代码动态设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//设置图片四个角圆形半径:1、2两个参数表示左上角,3、4表示右上角,5、6表示右下角,7、8表示左下角
                        val k = floatArrayOf(
                            DensityUtil.dip2px(context,18F).toFloat(),//左上
                            DensityUtil.dip2px(context,18F).toFloat(),//左上
                            0F,
                            0F,
                            0F,
                            0F,
                            DensityUtil.dip2px(context,18F).toFloat(),//左下角
                            DensityUtil.dip2px(context,18F).toFloat(),//左下角
                        )
                        val drawable = GradientDrawable()
                        //drawable.cornerRadius = DensityUtil.dip2px(context,18F).toFloat()
                        drawable.cornerRadii = k
                        //drawable.setStroke(1, Color.parseColor("#cccccc"))
                        drawable.setColor(Color.parseColor(data.color1))
                        holder.binding.viewColor1.setBackgroundDrawable(drawable)

  

 

 

参考于:

https://www.twblogs.net/a/5d010ee3bd9eee14644f96fc/?lang=zh-cn

https://blog.csdn.net/sinat_41890480/article/details/108773488

posted on   巫山老妖  阅读(1180)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2016-09-28 Android中购物车的全选、反选、问题和计算价格
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示