如图这样的效果,我们平时直接可以在 xml 写死。

写法很简单。

<?xml version="1.0" encoding="utf-8"?><!--白色圆角线条背景图-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><corners android:radius="15dp" /><strokeandroid:width="1dp"android:color="@color/white" />
</shape>

但是如果它的样式会动态变化。

一种还好,我们可以再写一个 xml 文件。

但是如果有好几种,再一一写一个对应的 xml 文件就有点被动了。

这个时候,我们可以在 java 或 kotlin 代码中去设置,这里我用 kotlin 写一下。

//dp1 是 1dp 对应的像素值,单位为 float
var tvBg = GradientDrawable().apply {shape = GradientDrawable.RECTANGLE//样式,矩形cornerRadius = dp1 * 16f//圆角setStroke(dp1, ContextCompat.getColor(act, R.color.white)//边框的大小和颜色
}
tv_btn_reserve.background = tvBg

是不是很简单呀。

【Android】代码中动态设置 drawable 背景相关推荐

  1. Android 代码中动态设置字体大小-TextView.SetTextSize()

    关键代码 - setTextSize(TypedValue.COMPLEX_UNIT_PX,15); //15像素 - setTextSize(TypedValue.COMPLEX_UNIT_SP,1 ...

  2. android 动态设边距,在代码中动态设置页边距 - android

    我有一个只包含ScrollView和TableLayout的活动.在我的代码我加入tablerows,一切工作正常,除了利润 - 它不工作(没有任何反应),下面是代码:在代码中动态设置页边距 - an ...

  3. 代码中动态设置view或布局的宽高

    有时我们需要在应用中动态改变图片或某一块布局的大小.这就不能用XML文件写成固定值,而需要在java代码中动态设置.效果如下: 网上有一些教程使用relativeView.setLayoutParam ...

  4. Android——动态设置view背景颜色setBackgroundColor

    setBackgroundColor 用于动态设置view背景颜色 今天写代码的时候遇到个小问题 动态设置的时候用Color.GRAY,系统自己带着的颜色,是没有问题的 但是用自己定义的颜色,就不生效 ...

  5. android 设置字体大小和不同颜色,Android代码中设置字体大小,字体颜色,显示两种颜色.倒计时效果...

    Android代码中设置字体大小,字体颜色,显示两种颜色 在xml文件中字体大小用的像素 android:id="@+id/uppaid_time" android:layout_ ...

  6. vue中动态设置背景渐变色

    vue中动态设置背景渐变色 1.效果展示 2.核心(动态更换单一的背景颜色也可以使用) <div class="ss" v-bind:style="{ backgr ...

  7. android 设置 linearlayout 高度,在RelativeLayout中动态设置LinearLayout高度/宽度

    我在RelativeLayout中有一个linearLayout.我需要能够根据屏幕尺寸动态设置线性布局的高度.我有一些困难. 我怎么能做到这一点?在RelativeLayout中动态设置Linear ...

  8. android viewpager动态加载页面,Android viewpager中动态添加view并实现伪无限循环的方法...

    本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里 ...

  9. 自定义背景android,Android自定义Button并设置不同背景图片的方法

    本文实例讲述了Android自定义Button并设置不同背景图片的方法.分享给大家供大家参考,具体如下: 1.自定义MyButton类 public class MyButton extends Bu ...

最新文章

  1. Anconda PyCharm TensorFlow
  2. JAVA命令行编译及运行
  3. 闭包漫谈(从抽象代数及函数式编程角度)
  4. 字符串缓冲区太小怎么解决_epoll的两种模式 ET和LT printf的缓冲区问题 边缘非阻塞模式...
  5. 根据”so劫持”过360加固详细分析
  6. Aqua Data Studio【下载】ads-windows-x64-16.0.5
  7. 这几天有django和python做了一个多用户博客系统(可选择模板) 没完成,先分享下...
  8. 昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者
  9. java的sas数据安全_使用sas中的do循环指定数据信息
  10. Ubuntu 通过Deb 安装 MySQL 5.5 [转载]
  11. idle点开没反应_翟天临、靳东,一个人越是没文化越是喜欢装
  12. SIR模型和Python实现
  13. 走在网页游戏开发的路上——页游资源管理
  14. python有哪几种类型转换方式_Python 中各种时间类型的转换
  15. [数据结构]P1.3 栈 Stack
  16. 1.5.2 Prime Palindromes 回文质数(构造回文)
  17. 墨卡托投影参数设置_[转载]MRT投影参数设置及原理
  18. linux环境包执行报错,linux环境下部署kettle,执行kitchen.sh文件报错后提示安装 libwebkitgtk 所需rpm包...
  19. VoIP技术(2)--语音编码算法-1
  20. 蒙特卡罗模拟计算定积分(R)

热门文章

  1. apikey、apisecret在api请求中的使用
  2. Visual Studio 修改
  3. python三级联动菜单_Excel–这才是三级联动下拉菜单的正确做法
  4. 漫画脸软件哪个好?推荐这几款漫画脸软件
  5. 超全Redis命令总结(备忘)(建议赶紧收藏)
  6. 最新昆石VOS2009/VOS3000手机号段导入文件(手机归属地)
  7. 2020-10-19 进制转换
  8. h5做适应不同手机尺寸(不同手机尺寸,不依赖框架)
  9. LiveData vs EventBus?不,他们其实可以一起
  10. 消防基础知识——燃烧与火灾