自定义Android标题栏修改TitleBar的布局
2013-01-21 14:57
274 查看
自定义Android标题栏修改TitleBar的布局
Android程序默认的Activity标题栏只能显示一段文字,而且不能改变它的布局、颜色、标题栏的高度等。如果想要在标题栏加上个图标、button、输入框、进度条、修改标题栏颜色等,只能使用自定义的标题栏。自定义标题栏可以通过在onCreate函数中添加以下代码来实现,需要注意的是代码的顺序必须按照下面的样式,否则将无效。
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);(注意顺序)
setContentView(R.layout.mainactivity); //Activity的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar); //标题栏的布局
如布局文件为下面:
R.layout.titlebar
虽然上面这样可以在标题栏加入一些控件,但是仍然不能改变标题栏的高度、背景色,要想达到这个目的,只能使用theme(主题)。因此往project里先添加一个style。改变背景色修改android:windowTitleBackgroundStyle的值,改变标题栏高度则修改android:windowTitleSize的值。下面是一个示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomWindowTitleBackground">
<item name="android:background">#778899</item>//标题栏的背景色
</style>
<style name="activityTitlebar" parent="android:Theme">
<item name="android:windowTitleSize">32dp</item>//标题栏的高度
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
接着再修改AndroidManifest.xml文件,找到要自定义标题栏的Activity,添加上android:theme值,比如:
<activity android:name=".MainActivity" android:theme="@style/activityTitlebar">
android:theme值就是上面那个style.xml文件里定义的一个style的name值。(即上面的activityTitlebar)
按照以上的步骤,修改标题栏布局、高度、背景色的功能就实现了。
Android程序默认的Activity标题栏只能显示一段文字,而且不能改变它的布局、颜色、标题栏的高度等。如果想要在标题栏加上个图标、button、输入框、进度条、修改标题栏颜色等,只能使用自定义的标题栏。自定义标题栏可以通过在onCreate函数中添加以下代码来实现,需要注意的是代码的顺序必须按照下面的样式,否则将无效。
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);(注意顺序)
setContentView(R.layout.mainactivity); //Activity的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar); //标题栏的布局
如布局文件为下面:
R.layout.titlebar
虽然上面这样可以在标题栏加入一些控件,但是仍然不能改变标题栏的高度、背景色,要想达到这个目的,只能使用theme(主题)。因此往project里先添加一个style。改变背景色修改android:windowTitleBackgroundStyle的值,改变标题栏高度则修改android:windowTitleSize的值。下面是一个示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomWindowTitleBackground">
<item name="android:background">#778899</item>//标题栏的背景色
</style>
<style name="activityTitlebar" parent="android:Theme">
<item name="android:windowTitleSize">32dp</item>//标题栏的高度
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
接着再修改AndroidManifest.xml文件,找到要自定义标题栏的Activity,添加上android:theme值,比如:
<activity android:name=".MainActivity" android:theme="@style/activityTitlebar">
android:theme值就是上面那个style.xml文件里定义的一个style的name值。(即上面的activityTitlebar)
按照以上的步骤,修改标题栏布局、高度、背景色的功能就实现了。
相关文章推荐
- 自定义Android标题栏修改TitleBar的布局
- 自定义Android标题栏修改TitleBar的布局
- android带返回按钮的自定义标题栏布局文件详解
- Android自定义TitleBar 自定义标题栏 并进行事件处理
- Android——自定义view实现标题栏、梯形布局以及二维码扫描
- Android底部菜单栏、Android沉浸式状态栏(顶部状态栏修改颜色)、自定义标题栏
- Android 自定义的一个带有标题栏的相对布局
- 【Android】使用自定义Adapter优化ListView、修改数据及控件内部布局
- android 修改窗体标题的字体式样和背景图(自定义标题栏)
- Android Launcher分析和修改2——Icon修改、界面布局调整、壁纸设置
- Android项目中自定义顶部标题栏
- Android--自定义标题栏之显示网页加载进度
- Android自定义布局中的平滑移动 VelocityTracker 速度追踪器的用法
- Android开发-取消程序标题栏或自定义标题栏
- Android自定义布局仿京东详情页,上下翻页
- Android布局之LinearLayout自定义高亮背景的方法
- Android自定义标题栏的实现,及屏蔽系统标题栏
- Android 自定义标题栏
- Android 系统拨号界面实现自定义悬浮布局
- 转载 自定义Android标题栏TitleBar布局