アプリのタイトルの背景色を変更する必要があります。この質問に基づいてそれを行うことができました。しかし、これはタイトルだけでなく、アプリ全体 (編集テキスト、ボタン、スピナー) も変更しています。このようなものを使用して、タイトルのみを変更し、他のすべてをデフォルトのテーマのままにすることはできますか? ところで、私は Theme.Black を使用しています。
以下は、私が使用しているコードの一部です: res/values.themes.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="customTheme" parent="android:Theme.Black">
<item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>
</style>
</resources>
res/values/styles.xml:
<resources>
<style name="AppTheme" parent="android:Theme.Black" />
<style name="WindowTitleBackground" parent="android:Theme.Black">
<item name="android:background">@color/titlebackgroundcolor</item>
</style>
</resources>
res/layout/mytitle.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myTitle"
android:text="This is my new title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/titletextcolor"
/>
</RelativeLayout>
そして私の活動では、次のように呼びます:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_auth);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle);
}
そしてAndroidManifestで:
<application
android:icon="@drawable/ic_launcher_"
android:label="@string/app_name"
android:theme="@style/customTheme" >
前もって感謝します。