android - 如何以编程方式将颜色应用于应用程序主题?
问题描述
我对将颜色应用于我的应用程序有一些问题。我想实现从网络上获取一些 json,如下所示:
{
"colorPrimary": "#45a02c",
"colorAccent": "#a02c2c",
"backgroundColor": "#FFFFFF"
}
并将其存储在我创建的 ThemeColor 之类的对象中。将 json 解析为对象是没有问题的,但现在我想在我的 ThemeColor 类中创建一个方法,它将对象的颜色应用到我的应用程序,以便我的工具栏将以这种原色着色,或者我可以使用它?attr/colorPrimary
.
那可能吗?什么是实现这一目标的好方法?
解决方案
在里面定义你的自定义主题style.xml
并在你的活动中使用它
样式.xml
<style name="CustomTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/your_custom_color</item>
<item name="colorPrimaryDark">@color/your_custom_color_2</item>
<item name="android:navigationBarColor">@color/your_custom_colot_3</item>
</style>
并在您的活动中使用该主题
public void onCreate(Bundle savedInstanceState) {
setTheme(android.R.style.CustomTheme); //here your custom theme
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
推荐阅读
- javascript - Discord Bot 发送随机消息
- java - 转换出版商
也许 > - pytorch - 使用其他给定张量更新 torch.zeros 中的元素
- keras - KERAS:InvalidArgumentError:无法计算 __inference_pruned_16232
- latex - BibTex:未定义的控制序列。...作者} {\bibnamefont {#ref},\ }\href@noop
- python - tensorflow 未检测到 GPU 并且无法完成 hello = tf.constant('hello')
- sql-server - Django REST框架+多数据库+POST数据
- r - R - 如何构建没有重复子列表声明的嵌套列表?
- java - 使用 java.nio 逐行写入文件
- xamarin.forms - 错误 APT2263:意外元素
在发现