当前位置: 首页 > news >正文

android动态style,Android控件动态设置style的问题

前面做项目因为里面的布局大多是JAVA代码里动态生成的,统一样式时就遇到了如何 在代码中动态引用style文件的问题,上网查了很多资料,都没得一个好点的解决方案,大多是叫一个属性一个属性的设置。当然这样也可以实现想要的功能, 不过达不到统一样式的目的,思来想去,最终找到一个方法 可以让代码中动态生成的控件照样引用XML中的STYLE样式。看起来有些取巧的意思,不过能达到目的,如果各位大神有其他更好的方法 麻烦回复让我也学习下。

好吧,废话不多说,直接讲我的方法:

比如,我在代码中要动态 设置一个Button按钮,要引用styles.xml中的一个统一的Button样式,我先在layout文件夹中建一个叫button.xml的文件做为所有这种样式Button的一个公共文件XML中代码如下:

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

style="@style/btn"

/>

JAVA代码中要动态产生这种样式的Button使用时就可以用Button button = (Button) getLayoutInflater().inflate(R.layout.button, null).findViewById(R.id.button);这种方法 来获取一个新的Button对象,这个button的实例样式就能直接是XML中要统一使用的了。

其他控件要动态产生并使用styles.xml中样式时就依次类推了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux 同步方法剖析
  • mate8 android版本区别,华为Mate8有几个版本 华为Mate8各版本区别
  • Java SE 6 新特性: Instrumentation 新功能
  • 简述linux系统的发展史,Linux系统概括发展历史
  • Java SE 6 新特性: HTTP 增强
  • 鸿蒙os的速度和ios,升级鸿蒙OS2.0后的体验,和ios基本没差别
  • Java SE 6 新特性: JMX 与系统管理
  • android 3D球面的点,使用D3.js创建3D球面圆点环绕动画(带详细注解)
  • Java SE 6 新特性: 对脚本语言的支持
  • Java SE 6 新特性: XML API 与 Web 服务
  • 今天又要去照相
  • html5如何绑定域名,墨涩网 - Coding搭建html静态网站后绑定域名+SSL证书——墨涩网...
  • Win 2K/XP下修改网卡MAC地址的方法
  • android 模拟器应用未安装,当我在Android Studio中运行它时,Android应用程序未安装在模拟器或设备上...
  • 谈谈RJ45线序的打法及口诀
  • JavaScript中的对象个人分享
  • leetcode46 Permutation 排列组合
  • Median of Two Sorted Arrays
  • mongodb--安装和初步使用教程
  • Next.js之基础概念(二)
  • node 版本过低
  • php的插入排序,通过双层for循环
  • Vue.js源码(2):初探List Rendering
  • 程序员最讨厌的9句话,你可有补充?
  • 每天一个设计模式之命令模式
  • 前端之Sass/Scss实战笔记
  • 写给高年级小学生看的《Bash 指南》
  • zabbix3.2监控linux磁盘IO
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ​油烟净化器电源安全,保障健康餐饮生活
  • ![CDATA[ ]] 是什么东东
  • # C++之functional库用法整理
  • #前后端分离# 头条发布系统
  • (12)Hive调优——count distinct去重优化
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (4.10~4.16)
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (回溯) LeetCode 131. 分割回文串
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (十一)手动添加用户和文件的特殊权限
  • (已解决)什么是vue导航守卫
  • (转载)OpenStack Hacker养成指南
  • (轉)JSON.stringify 语法实例讲解
  • ***检测工具之RKHunter AIDE
  • *算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .htaccess配置常用技巧
  • .NET Core 项目指定SDK版本
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .NET 命令行参数包含应用程序路径吗?
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)