如果我使用样式定义自定义主题:
<style name="MyTheme" parent="android:Theme">
<item name="android:windowTitleSize">@dimen/title_bar_height</item>
<item name="android:windowTitleBackgroundStyle">@drawable/titilebar_bg</item>
<item name="android:windowBackground">@drawable/bg_page</item>
</style>
并且我还有一个特殊的titlebar.xml
来定义我的标题栏(按钮,图标,文本等)有没有办法将此布局设置为样式中标题栏的默认布局(如所有的默认行为)活动)?
这样我不必在每个活动中添加以下代码(实际上是所有活动):
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.my_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
我能看到的唯一方法是将Activity子类化为继承方法,该方法会在onCreate()/ setContentView()中生成requestWindowFeature()。但这并不是我所要求的。
答案 0 :(得分:0)
Styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomWindowTitleBackground">
<item name="android:background">#000000</item>
</style>
<style name="CustomTheme" parent="android:Theme">
<item name="android:windowTitleSize">35dip</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
的Manifest.xml
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/CustomTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>