android - 如何在 Android 中动态更改按钮样式?

标签 android button coding-style

<分区>

我想动态更改按钮的样式,即在 Java 代码中,类似于:

((Button)findViewById(id)).setStyle("@styles/foo")

<resources>
    <style name="foo">
        <item name="android:adjustViewBounds">true</item>
        <item name="android:maxHeight">100px</item>
        <item name="android:maxWidth">200px</item>
    </style>
</resources>

我还没有看到像 setStyle 这样的东西,所以:

我必须更改每个属性还是可以更改整个样式?

最佳答案

像这样分配样式

<style name="ButtonHOLO" parent="android:Widget.Button">
      <item name="android:background">@drawable/btn_default_holo_dark</item>
      <item name="android:minHeight">@dimen/calc_btn_h</item>
      <item name="android:minWidth">@dimen/calc_btn_w</item>
      <item name="android:textColor">#ffffff</item>
</style>

对于一个动态按钮,您需要同时使用 setBackgroundResource() 和 setTextAppearance() 函数。例如:

btn.setBackgroundResource(R.drawable.btn_default_holo_dark);
btn.setTextAppearance(context, R.style.ButtonHOLO);

在哪里

btn_default_holo_dark

是描述按钮选择器的 .xml 文件的名称。

关于android - 如何在 Android 中动态更改按钮样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4738309/

相关文章:

javascript - 在 jQuery 中构建 html 元素的最清晰方法

android - 从后台删除 fragment 并显示 Activity

button - JavaFX 按钮文本中的彩色单个字母

android - 如何检测 "Recent Apps"系统按钮点击(Honeycomb+)

Python 默认值并根据其他变量设置值。如果其他或不。

c# - 使用子类和方法的最佳方式

android - 如何在 Ionic 3 上播放 .MOV 视频文件?

java - 错误 'Didn' t 在路径 : DexPathList' 上找到类

android - 在/sdcard 中创建目录失败

Android:带有冰淇淋的奇怪按钮布局