我有三个按钮来更改主题。点击每个按钮,我的应用主题必须动态更改。如何以编程方式进行。
答案 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名称......