1

タブホストがあり、内部でアクティビティがあります。このアクティビティのタイトル バーをカスタマイズしたいので、次のコードを使用しました。ただし、カスタムタイトルを他のタイトル機能と組み合わせることはできませんというエラーが表示されます。ファイルを見ると、1 つのテーマしか適用されていないことがわかります。なぜこれが起こっているのかわかりません... 何か考えはありますか? タブホストの他のアクティビティにも dialogtheme を使用していますが、カスタム テーマを 1 つのアクティビティ (startActivity という名前) にのみ適用しているため、それで問題ないと思います。

マニフェスト:

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".MainTabActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            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=".StartActivity"
            android:label="@string/app_name"
            android:theme="@style/CustomTheme"   //this is the Custom title bar theme for this activity
            android:screenOrientation="portrait" >
    </activity>

アクティビティ onCreate():

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);  //error happned here
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);
    super.onCreate(savedInstanceState);
    Log.i(TAG, "onCreate()");
    setContentView(R.layout.startactivity);

レイアウト フォルダー内の window_title.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="35dip"
    android:gravity="center_vertical"
    android:paddingLeft="5dip"
    android:background="#323331">

    <ImageView
        android:id="@+id/header"
        android:src="@drawable/ic_launcher"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

最後に、@style:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="CustomWindowTitleBackground">
        <item name="android:background">#323331</item>
    </style>

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

0 に答える 0