我如何允许用户在 android 应用程序中更改按钮的颜色
How can i allow user to change button's color in an android app
我正在为 android 开发一个计算器应用程序,我使用可绘制文件来管理按钮组的颜色。
我需要允许用户通过提供几个可绘制文件来更改计算器主题,然后用户可以在它们之间进行选择。
除了制作多个布局之外,我不知道如何执行此操作,然后我可以在 activity 中使用 (if) 语句。
有没有简单的方法
我用这样的东西来定义按钮背景
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle" >
<corners android:radius="9dip" />
<stroke android:width="1dip" android:color="#009e9e9e" />
<gradient android:angle="-90" android:startColor="#ae104f" android:endColor="#8e0d40" />
</shape>
</item>
<item>
<layer-list>
<item android:right="5dp" android:top="5dp">
<shape>
<corners android:radius="8dp" />
<solid android:color="#bd848484" />
</shape>
</item>
<item android:bottom="1dp" android:left="2dp">
<shape>
<gradient android:angle="270"
android:endColor="#ae104f" android:startColor="#8e0d40" />
<stroke android:width="1dp" android:color="#BABABA" />
<corners android:radius="9dp" />
<padding android:bottom="10dp" android:left="10dp"
android:right="10dp" android:top="10dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
谢谢
您可以存储用户的颜色文件或共享首选项。你的应用程序开始读取这种颜色,并存储静态值,因此为所有按钮设置背景颜色(静态颜色值)。如果我是你,我会那样做。会成功的。
我正在为 android 开发一个计算器应用程序,我使用可绘制文件来管理按钮组的颜色。 我需要允许用户通过提供几个可绘制文件来更改计算器主题,然后用户可以在它们之间进行选择。 除了制作多个布局之外,我不知道如何执行此操作,然后我可以在 activity 中使用 (if) 语句。 有没有简单的方法 我用这样的东西来定义按钮背景
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle" >
<corners android:radius="9dip" />
<stroke android:width="1dip" android:color="#009e9e9e" />
<gradient android:angle="-90" android:startColor="#ae104f" android:endColor="#8e0d40" />
</shape>
</item>
<item>
<layer-list>
<item android:right="5dp" android:top="5dp">
<shape>
<corners android:radius="8dp" />
<solid android:color="#bd848484" />
</shape>
</item>
<item android:bottom="1dp" android:left="2dp">
<shape>
<gradient android:angle="270"
android:endColor="#ae104f" android:startColor="#8e0d40" />
<stroke android:width="1dp" android:color="#BABABA" />
<corners android:radius="9dp" />
<padding android:bottom="10dp" android:left="10dp"
android:right="10dp" android:top="10dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
谢谢
您可以存储用户的颜色文件或共享首选项。你的应用程序开始读取这种颜色,并存储静态值,因此为所有按钮设置背景颜色(静态颜色值)。如果我是你,我会那样做。会成功的。