Android(安卓)- 自定义标题栏(TitleBar)
16lz
2021-12-04
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final boolean customTitle= requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); if ( customTitle ) { getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, Set your layout for title here and mention your button in this layout); } final TextView myTitleText = (TextView) findViewById(R.id.myTitle); if ( myTitleText != null ) { myTitleText.setText("NEW TITLE"); myTitleText.setBackgroundColor(Color.BLUE); }}上述代码只能自定义标题栏,但不能改变标题栏的大小、自定义标题栏属性如下: 原理是这样的. 直接像上述代码那样添加title仅仅是把一个子界面添加到原有的title上的, 并没有改变原来的属性, 比如 标题栏大小, 标题栏背景. 这些需要在theme 主题里面定义. 因此先定义一个style, 若修改背景请修改android:windowTitleBackgroundStyle 若修改标题栏高度,请修改android:windowTitleSize 例子: <?xmlversion="1.0"encoding="utf-8"?>
<resourcesxmlns:android="http://schemas.android.com/apk/res/android">
<stylename="CustomWindowTitleBackground">
<itemname="android:background">#565656</item>
</style>
<stylename="test"parent="android:Theme">
<itemname="android:windowTitleSize">50dp</item>
<itemname="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources> 在程序的android manifest.xml中对应activity中添加属性android:theme = "@style/test" 就可以了
更多相关文章
- Android(安卓)- ScrollView 使用小计 里面嵌套的View 如何设置全
- Android(安卓)Setting中添加解除屏幕锁选项
- Android(安卓)时区的修改增删,如何在菜单里增加一个没有的时区
- 安卓开发遇坑记录
- RelativeLayout用到的一些重要的属性:
- Android中添加布局和初始化布局总结
- Android(安卓)SystemUI状态栏添加图标
- Android(安卓)sd卡读取数据库实例代码
- cocos2d-x eclipse android 配置注意项(笔记)