1

アプリのタイトルの背景色を変更する必要があります。この質問に基づいてそれを行うことができました。しかし、これはタイトルだけでなく、アプリ全体 (編集テキスト、ボタン、スピナー) も変更しています。このようなものを使用して、タイトルのみを変更し、他のすべてをデフォルトのテーマのままにすることはできますか? ところで、私は 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" >

前もって感謝します。

4

0 に答える 0