gpt4 book ai didi

java - 以编程方式设置 Android 按钮样式

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:58 24 4
gpt4 key购买 nike

如何以编程方式为 android 按钮添加/删除样式?是否可以在运行时应用样式?

我有两个看起来像这样的按钮

     ----------   ----------    | Button A | | Button B |     ----------   ----------

我想做的是当一个按钮被点击时(比方说按钮 B),它运行一些代码,然后将按钮 B 的样式更改为其他样式(即突出显示的边框),并且将是这样的:

     ----------    ==========    | Button A | || Button B ||     ----------    ==========

我知道如何在 XML 中进行样式设置(即创建样式),我只想知道如何在运行时/使用 Java 代码应用样式。

最佳答案

让我们为您编写一些代码...:)要动态地将样式应用到您的 View (在本例中为按钮),您必须在布局文件夹(res/layout)中执行以下操作。

我将其命名为buttonstyle.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true">
<shape>
<solid android:color="#449def"/>
<stroke android:width="1dp" android:color="#2f6699"/>
<corners android:radius="3dp"/>
<padding android:left="10dp" android:top="10dp" android:right="10dp"
android:bottom="10dp"/>
</shape>
</item>

<item>
<shape>
<gradient android:startColor="#449def" android:endColor="#2f6699" android:angle="270"/>
<stroke android:width="1dp" android:color="#2f6699"/>
<corners android:radius="4dp"/>
<padding android:left="10dp" android:top="10dp" android:right="10dp"
android:bottom="10dp"/>
</shape>
</item>

</selector>

现在将样式应用于您的按钮,将以下代码添加到 Activity 的 onCreate() 方法中。

Button transferBtn = new Button(this);
transferBtn.setText("Test Example");
transferBtn.setId(R.string.transferBtn);
transferBtn.setBackgroundResource(R.layout.buttonstyle);

关于java - 以编程方式设置 Android 按钮样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14386556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com