1

アプリでカスタム タイトルバーを使用していますが、新しいレイアウトを作成するたびに以下を呼び出す必要があります。

<include
    android:id="@+id/titlebar"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="@integer/titlebar_weight"
    layout="@layout/titlebar" />

すべてのレイアウトでこれを呼び出す代わりに、テーマで定義するにはどうすればよいですか (つまり、テーマのデフォルト レイアウトを定義します)。

私のデフォルトのレイアウト:

デフォルトのレイアウト

4

4 に答える 4

3

windowTitleStyle古いタイトル バーはテーマ ( 、windowTitleSize、 ) で少しカスタマイズできwindowTitleBackgroundStyleますが、独自のレイアウトを設定することはできません。また、タイトル バーは Android 3.0 で ActionBar に置き換えられたので、とにかく役に立ちません。

テーマにデフォルトのレイアウトを設定することはできません.少なくとも私はそれを行う方法を見つけることができませんでした. ただし、ヘッダー レイアウトを追加するときに、繰り返しを減らすためのオプションがいくつかあります。

  • コンテンツのヘッダーと ViewStub を含むマスター レイアウトを作成し、コードで inflatedId を設定します。
  • フラグメントを使用して画面を構築し、プログラムでマスター レイアウトから追加/削除することを検討してください。
  • 基本アクティビティにプログラムでヘッダーを追加します (user1527136 が提案)
  • それを含めてください(それはあなたがすでに行っていることであり、それほど悪いことではありません)
于 2012-12-01T11:21:29.040 に答える
1

アクションバーを自分で作成することはお勧めしません。次のいずれかを試すことができます。

Actionbar SherlockまたはActionbarCompat(SDKのGoogleサンプルから)。

于 2012-08-25T11:17:05.667 に答える
0
<resources>
    <style name="Theme.Transparent" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">false</item>
    </style>    
</resources> 



<activity 

    android:theme="@style/Theme.Transparent" 

</activity> 
于 2012-08-25T11:47:17.983 に答える