【发布时间】:2015-03-27 22:19:16
【问题描述】:
我的作业有问题。我的 android 应用程序应该通过按下一个按钮来更改我在我的应用程序中拥有的所有布局的背景颜色(顺便说一下,我有 9 个),并通过按下一个不同的按钮来更改应用程序中所有按钮的颜色。我不知道如何做到这一点(编辑)除了一个一个地改变它们,这是我不想要的,因为我有 6 种不同的颜色和很多按钮。
我发现了这个关于动态改变主题的教程, http://www.androidengineer.com/2010/06/using-themes-in-android-applications.html 但这样我只能同时更改一个或两个。
我的清单:
<?xml version="1.0" encoding="utf-8"?>
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" android:enabled="false" android:vmSafeMode="false">
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Call"></activity>
<activity android:name=".City"></activity>
<activity android:name=".Map"></activity>
<activity android:name=".Date"></activity>
<activity android:name=".Color"></activity>
<activity android:name=".Sms"></activity>
<activity android:name=".Developer"></activity>
<activity android:name=".Sms2"></activity>
</application>
请帮忙
【问题讨论】:
-
过去你不能在运行时动态改变你的主题,现在可能仍然如此。如果您在
onCreate中更改主题,这是可以接受的。但是要查看对主题的更改,您需要重新创建Activity。我不知道这是否已经改变。根据限制的不同,您可以通过调用每个视图并更改颜色。 -
据我所知,这些限制仍然适用。该教程使用了每次按下按钮时都会重新启动的辅助活动,然后所有其他活动都从它们派生。但是,正如我所说,那样我只能更改背景、按钮或同时更改两者。而且我需要能够单独更改按钮和背景,而不是一一更改。
标签: android colors background-color