安卓学习随笔 -- 自定义标题栏
在安卓中不喜欢系统默认的标题栏,那么如何让自定义一个自己的标题栏呢。
自定义后的标题栏如下:
首先这里需要定义一个自定义的标题栏布局 title.xml文件 (里边需要两个图片这个很简单)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="50dp" <!-- 新的 标题栏的 高度-->android:background="#f2f8f8"><ImageButtonandroid:id="@+id/imageButton1"android:layout_width="40dp"android:layout_height="40dp" android:layout_centerVertical="true"android:layout_alignParentLeft="true"android:layout_marginLeft="20dp"android:src="@drawable/lbt" /><TextView android:layout_centerInParent="true"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="自定义标题栏"android:textSize="20sp"android:gravity="center_vertical"/><ImageButtonandroid:id="@+id/imageButton1"android:layout_width="40dp"android:layout_height="40dp"android:layout_centerInParent="true"android:layout_alignParentRight="true"android:layout_marginRight="20dp"android:src="@drawable/rbt" /></RelativeLayout>
然后再MainActivity中声明使用自定义的标题栏
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//声明使用自定义的标题栏requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);setContentView(R.layout.activity_main);//使用自定义的标题栏getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title); }}
接下来我们再来设置标题栏的高度 以及 处理两侧没有完全覆盖原始标题栏的bug,这时 我们需要在定义一个style文件 MyStyle.xml
在自定义标题栏中经常回遇到没有填充完全的效果如下图:
MyStyle.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="titleBarStyle" parent="android:Theme"><item name="android:windowTitleSize">50dp</item><!-- 原始标题栏的高度 --><item name="android:padding">0dp</item><!-- 使新的标题栏完全延伸到对齐到原始标题栏的两边 -->
</style>
</resources>
然后呢 在 AndroidManifest.xml 中给activity 添加 一个theme属性
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.mytitle"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="17" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.example.mytitle.MainActivity"android:label="@string/app_name" android:theme="@style/titleBarStyle"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
在一样中 有两处给标题栏添加了高度设置,一个是原始的标题栏高度,一个是自定义标题栏的高度。一般设为两个相等。不然或者自定义的标题栏只占用了原始标题栏的上部分。或者只显示了自定义标题栏的上部分。
到这里基本就修改完成了。
源码下载地址:http://download.csdn.net/detail/liuhenghui5201/7644123
安卓学习随笔 -- 自定义标题栏相关推荐
- Android学习之自定义标题栏
一.如今好多的Android APP都在界面的顶部放置一个标题栏,标题栏里通常会有一两个按钮可用于返回和其它操作,虽然Android系统中已经给每个Activity提供了标题栏功能,但是这里介绍一下我 ...
- 安卓学习:自定义图像
文章目录 效果 代码 创建custom类做为画板 custom.java 主界面类MainActivity.java 效果 代码 创建custom类做为画板 custom.java import an ...
- 【QT 5 设置自定义标题栏+学习:《QT实现鼠标拖动调整窗口大小》+基础样例】
[QT 5 设置自定义标题栏+学习:<QT实现鼠标拖动调整窗口大小>+基础样例] 1.说明 2.实验环境 3.实验目的 4.参考文章 5.实验步骤 (1)下载代码,运行没有错误. (2)加 ...
- Android 安卓 自定义标题栏+沉浸式状态栏
Android 安卓 自定义标题栏+沉浸式状态栏 由于Android原生的标题栏单调,简单,并不是很好看,自定义个性化的标题栏可以让app更加美观. Android 4.4以后增加了沉浸式透明状态栏. ...
- 安卓学习专栏——实战项目酷欧天气(2)遍历全国省市县数据
步骤 系列文章 前言 1.实现效果 2.项目结构 util包 util包下新建HttpUtil util包下新建Utility 3.新建choose_area.xml布局 4.新建ChooseArea ...
- Delphi面向对象学习随笔一:类与对象的关系
Delphi面向对象学习随笔一:类与对象的关系 作者:巴哈姆特 http://www.cnpack.org (转载请注明出处并保持完整) 工作几年了,总想做点总结,于是有了这篇东西,叫随笔吧呵 ...
- 2020年安卓学习笔记目录
文章目录 一.讲课笔记 二.安卓案例 三.安卓实训项目 四.学生安卓学习博客 五.安卓课后作业 (一)界面设计练习 1.制作登录界面 2.制作部队管理界面 3.制作灭火救援界面 4.制作交付界面 5. ...
- 【安卓学习之互动直播】 腾讯云直播 1 - 注册/登录/个人信息
█ [安卓学习之互动直播] 腾讯云直播 1 - 注册/登录/个人信息 █ 相关文章: ● [安卓学习之互动直播] 腾讯云直播 1 - 注册/登录/个人信息 ● [安卓学习之互动直播] 腾讯云直播 2 ...
- Vue学习随笔+商城项目【上】
更新日期:2021-02-10 晚 [新年快乐] 附:Vue学习随笔+商城项目[下] 目录(部分) (一)ES6补充 1.1块级作用域 1.1.1 什么是变量作用域 1.1.2 没有块级作用域造成的问 ...
最新文章
- [转载]利用@media screen实现网页布局的自适应,@media screen and
- iOS 9应用开发教程之多行读写文本ios9文本视图
- 用Arduino检测环境中的温湿度
- hbuilder打包的app如何设置自动清理缓存_手机空间不足,这些“隐形”文件如何找到删除?...
- 想买啥 VS 买了啥!理想与现实的差距咋就这么大咧?
- 「安全技术」针对常见混淆技术的反制措施
- python 3.9 发布计划_Python 3.9.0 beta4 发布
- [转载] Java Formatter toString()方法与示例
- ViTAEv2世界第一:6亿参数模型,ImageNet Real 91.2%最高准确率,更大模型、更多任务、更高效率...
- 编译安装mysql gmake,编译安装mysql
- C语言—预定义宏调试__LINE__、__func__
- eclipse maven 打war包的几种方式
- java自动识别文件编码格式
- 【Hibernate步步为营】--核心对象+持久对象全析(二)
- 修改element ui的table的某一列的样式
- 超人工智能语音合成系统问世
- loj 3090 「BJOI2019」勘破神机 - 数学
- 新疆库尔勒市杜鹃河上演人禽共泳和谐相处画卷
- Python数据分析训练营——Python数据分析之Panads-1
- 解决电脑浏览器打不开网页问题
热门文章
- Django 上传附件报The number of GET/POST parameters exceeded settings.DATA_UPLOAD_MAX_NUMBER_FIELDS错误
- Django使用消息提示简单的弹出个对话框
- Android之Intent传递数据
- 实现option上下移动_JS实现Select的option上下移动的方法
- 华为私有云的搭建方案_华为云搭建word press
- excel重复上一步快捷键_工作再忙也要学会的十个Excel快捷键
- C# DataGridView属性设置
- java memcmp_C 库函数
- jeecg集成积木报表错误_6688种玩法的电子积木,是什么体验?「中外玩具网测评」...
- zookeeper和Kafka的关系