0

カスタム アプリ タイトルを実装しようとしています。タイトル テキストの色を白に変更するカスタム レイアウトを作成しました。

<?xml version="1.0" encoding="utf-8"?>
<TextView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/textView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:paddingLeft="0dp"
     android:text="@string/title_activity_main"
     android:textAppearance="?android:attr/textAppearanceMedium"
     android:textColor="@color/textColorWhite"/>

そして、アクティビティ onCreate() で

requestWindowFeature(Window.FEATURE_LEFT_ICON);
setContentView(R.layout.activity_home);
setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.my_icon);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.layout_custom_app_title);

Android 2.2 デバイスでは動作しません。ただし、バージョン 4.0 では正常にテストされました

誰かが回避策を持っていますか?

編集:

<style name="customWindowTitle">
    <item name="android:textColor">@color/textColorWhite</item>
</style>

<style name="LightThemeSelector" parent="android:Theme.Light">
    <item name="android:windowBackground">@drawable/app_background</item>
    <item name="android:textColor">@color/textColorBlack</item>
    <item name="android:windowTitleStyle">@style/customWindowTitle</item>
</style>
4

1 に答える 1

0

カスタムテーマを使えば簡単にできます。そのための手順は次のとおりです

style.xml に追加

<resources>
    <style name="CustomWindowTitleBackground">
        <item name="android:background">@color/textColorWhite</item>
        // here you can add other attributes
    </style>

    <style name="CustomTheme" parent="android:Theme">
        <item name="android:windowTitleSize">25dip</item>
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
    </style>
</resources>

そして AndroidManifest.xml に追加

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/CustomTheme">
于 2013-03-20T14:27:08.487 に答える