自定义title
程序员文章站
2022-07-14 08:00:06
...
一、requestWindowFeature()
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
// 1.DEFAULT_FEATURES:系统默认状态,一般不需要指定
// 2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定
// 3.FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时
// 4.FEATURE_INDETERMINATE_PROGRESS:不确定的进度
// 5.FEATURE_LEFT_ICON:标题栏左侧的图标
// 6.FEATURE_NO_TITLE:无标题
// 7.FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启用。
// 8.FEATURE_PROGRESS:进度指示器功能
// 9.FEATURE_RIGHT_ICON:标题栏右侧的图标
// 10.FEATURE_INDETERMINATE_PROGRESS:不确定的进度
二、自定义一个布局title_main
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.title_main);
三、Theme 主题
1、将对应的Activity添加属性android:theme="@android:style/Theme.Light"可正常运行,
对于Activity系统会默认添加android:theme属性而这个默认的属性带有默认的title,
要覆盖这个属性,不然的话就相当于一个Activity有两个title所以会出现运行异常,新添加的theme属性值里面应该不能有有title。
2、自定义主题
android:theme="@style/AppTheme"
在styles.xml中
<style name="AppTheme" parent="@android:style/Theme.Light">
<item name="android:windowTitleSize">50dp</item> //自定义高度
<item name="android:windowTitleBackgroundStyle">@drawable/navigationbar_bg</item>//自定义背景
</style>
四、结果
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.activity_item);