java - 主题的不同布局目录

标签 java android android-layout android-theme

<分区>

我希望我的应用程序有主题。是否可以在我的 android 应用程序中创建布局默认、布局蓝色、布局红色目录等?或者不同的 res 目录,如 res-default、res-blue 等?

最佳答案

除了大小或方向之外,您不能为不同的样式制作单独的布局,如文档所述here .这给出了您可以使用的不同布局的完整列表。

为了做您想做的事,并拥有红色布局、蓝色布局和其他布局,您可以使用应用程序主题,它允许您根据需要设置所有布局的样式,如文档所述here .

首先,您将在 styles.xml 中创建您的自定义主题。这些都是基本的,但您可以进行的自定义数量是无穷无尽的。

<style name="RedTheme" parent="android:Theme.Light">
    <item name="android:windowBackground">#ff0000</item>
</style>

<style name="BlueTheme" parent="android:Theme.Light">
    <item name="android:windowBackground">#0000ff</item>
</style>

然后,在我们设置 contentView 之前,我们在您 Activity 的 onCreate 方法中引用它们。

public void onCreate(Bundle savedInstanceState) {
setTheme(R.style.BlueTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

您可以将所选主题保存在 SharedPreferences 中并从那里引用它,或者只是为每个 Activity 手动设置不同的主题。也可以在 Manifest 中的 Activity 级别设置主题。

关于java - 主题的不同布局目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15420552/

相关文章:

android - 根据固定页脚限制 fragment 大小

java - 空白布局 - eglSurfaceAttrib 未实现

java - Wicket DropDownChoice 渲染器问题

Android YouTube api v3 - 方向

android - 隐式深层链接无法正常工作 - onCreate 调用了两次

android - 在 WSO2 EMM (2.0.1) 中创建租户时出现问题

android - 多行编辑文本和编辑文本的首字母大写

java - 如何在java "after"实例化中设置数组中多个元素的值?

java - xsd: 自定义类型的列表生成到 List<String>

java - 如何在Spring中配置对@Valid的直接字段访问?