动态更改按钮主题

时间:2018-07-01 17:05:26

标签: java android android-button

我的按钮有两种样式:

<style name="PrimaryButton1" parent="Theme.AppCompat">
    <item name="colorButtonNormal">@color/white</item>
    <item name="colorControlHighlight">@color/blackt</item>
</style>
<style name="PrimaryButton2" parent="Theme.AppCompat">
    <item name="colorButtonNormal">@color/black</item>
    <item name="colorControlHighlight">@color/white</item>
</style>

我知道我可以像这样在布局XML中设置主题:
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:theme="@style/PrimaryButton1"/>

但是当单击事件发生时,我想在这两种样式之间更改主题。
(我使用主题的原因是更改按钮的背景使其显示效果删除)
我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

  
      
  1. 为按钮添加 id ValidatorJS.MobilePhoneLocale添加到按钮XML
  2.   
  3. 将此代码添加到您的“活动” /“片段”中
    (假设您已经为名为 button 的Button定义了一个变量)      
        

    内部

             
          

    活动:       ts-node
          片段:> import validator = require("validator") {} > function foo(l: ValidatorJS.MobilePhoneLocale): ValidatorJS.MobilePhoneLocale { return l; } undefined > foo("en-US") 'en-US'

        
      
  4.