动态地将主题应用到我的Android应用程序

时间:2012-02-10 04:34:03

标签: android themes

我有三个按钮来更改主题。点击每个按钮,我的应用主题必须动态更改。如何以编程方式进行。

5 个答案:

答案 0 :(得分:2)

要在运行时动态设置主题,请在调用setContentView()之前在activity的onCreate()方法中调用setTheme()。要更改主题,只需重新启动活动即可。

以下是关于如何动态应用主题的好tutorial

this也是。

答案 1 :(得分:0)

请访问此link

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="#00FF00"
    android:typeface="monospace"
    android:text="@string/hello" />

<TextView
    style="@style/CodeFont"
    android:text="@string/hello" />

通过定义xml主题文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="CodeFont" parent="@android:style/TextAppearance.Medium">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
    </style>
</resources>

您还可以将样式应用于应用程序的所有活动:

<application android:theme="@style/CustomTheme">

或只是一项活动:

<activity android:theme="@android:style/Theme.Dialog">

答案 2 :(得分:0)

很抱歉,但您无法以编程方式更改样式。

how to set the Style Attribute Programmatically in Android?

然而,肯定有其他方法可以实现这种期望的行为。您可以为每个按钮设置onclick侦听器,并以编程方式更改各种视图元素的文本大小,颜色,背景等

答案 3 :(得分:0)

您可以为给定的xml文件使用特定主题。 在图形布局中,您可以使用编辑配置更改布局的主题。

使用onclick事件转到下一个布局,此处您的主题将与第一个不同。

答案 4 :(得分:0)

Vimalatha,要在单击按钮时更改背景,只需将此代码添加到按钮的onClick功能中。

 myLinearLayout.setBackgroundColor(Color.BLUE);

假设myLinearLayout是您的LinearLayout名称......