Android 自定义标题栏(title栏)

Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置 自2014年Google I/O上Material Design横空出世后,市场上的应用又逐步趋向了样式的风格统一,support library中很快就出来了ToolBar控件,一个定制化的ViewGroup,来完善ActionBar的使用。Actionbar是Android3.0之后的一个重要的交互元素,Actionbar位于Activity的顶部,用于显示图标、菜单、标题,广泛用于View的交互、导航等功能。在Android3.0之后,Actionbar是默认添加的,只要你。下拉就会出现通知栏。 阅读详情

第一步,向实现自定义标题栏,需要在onCreate方法里这样写


[java]  view plain copy
  1. requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);  
  2.   
  3. setContentView(R.layout.main);  
  4. getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);  

注意:

requestWindowFeature要在setContentView之前

getWindow().setFeatureInit最好在setContentView之后


第二步,就是写好自己的布局文件,实现标题栏的自定义。

不过我们会遇到一些问题,就是标题栏的高度不能自定义~下面就是解决办法~



下面,我们看一下android title标题栏 在源码 framework中的XML文件


screen_custom_title.xml

[html]  view plain copy
  1. <LinearLayout android:orientation="vertical" android:fitsSystemWindows="true">  
  2. <FrameLayout android:id="@android:id/title_container"   
  3.              android:layout_width="match_parent"   
  4.              android:layout_height="?android:attr/windowTitleSize"   
  5.              style="?android:attr/windowTitleBackgroundStyle">  
  6.     </FrameLayout>  
  7. <FrameLayout android:id="@android:id/content"   
  8.              android:layout_width="match_parent"   
  9.              android:layout_height="0dip"   
  10.              android:layout_weight="1"   
  11.              android:foregroundGravity="fill_horizontal|top"   
  12.              android:foreground="?android:attr/windowContentOverlay"/>  
  13. </LinearLayout>  

screen_title.xml

[html]  view plain copy
  1. <LinearLayout android:orientation="vertical" android:fitsSystemWindows="true">  
  2. −  
  3. <FrameLayout android:layout_width="match_parent"   
  4.              android:layout_height="?android:attr/windowTitleSize"   
  5.              style="?android:attr/windowTitleBackgroundStyle">  
  6. <TextView android:id="@android:id/title"   
  7.           style="?android:attr/windowTitleStyle"   
  8.           android:background="@null"   
  9.           android:fadingEdge="horizontal"   
  10.           android:gravity="center_vertical"   
  11.           android:layout_width="match_parent"   
  12.           android:layout_height="match_parent"/>  
  13. </FrameLayout>  
  14. <FrameLayout android:id="@android:id/content"   
  15.              android:layout_width="match_parent"   
  16.              android:layout_height="0dip"   
  17.              android:layout_weight="1"   
  18.              android:foregroundGravity="fill_horizontal|top"   
  19.              android:foreground="?android:attr/windowContentOverlay"/>  
  20. </LinearLayout>  


       既然是自定义标题,那我们就看screen_custom_title.xml,里面有一个title_container和一个content,组合成了标题栏,我们自定义标题所给出的view,都被content作为子view了,影响不了那个title_container和content,所以,任你怎么弄,它该留白的还是留白,你没招。
       看title_container有个style是这样的:

        style="?android:attr/windowTitleBackgroundStyle"
       

         content的foreground是这样的android:foreground="?android:attr/windowContentOverlay"


       我们可以自己写一个style

[html]  view plain copy
  1. <resources xmlns:android="http://schemas.android.com/apk/res/android">  
  2.   
  3.   
  4. <style name="CustomWindowTitleBackground">  
  5.        <item name="android:background">#00cc00</item>  
  6. </style>  
  7.   
  8.   
  9. <style name="test" parent="android:Theme">  
  10.      <item name="android:windowTitleSize">50dp</item>  
  11.      <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>  
  12. </style>  
  13. </resources>  

加入到AndroidManifest


[html]  view plain copy
  1.         <activity android:name=".CustomTitileBarActivity"  
  2.                   android:label="@string/app_name" android:theme="@style/title_bar">  
  3.             <intent-filter>  
  4.                 <action android:name="android.intent.action.MAIN" />  
  5.                 <category android:name="android.intent.category.LAUNCHER" />  
  6.             </intent-filter>  
  7.         </activity>  






PS:做的略显粗糙,不过以能实现功能为主~~

Android自定义标题栏 *一个零基础的新人,我认为坚持是最最重要的。**我的很多朋友都找我来学习过,我也很用心的教他们,可是不到一个月就坚持不下来了。我认为他们坚持不下来有两点主要原因:他们打算入行不是因为兴趣,而是因为所谓的IT行业工资高,或者说完全对未来没有任何规划。刚开始学的时候确实很枯燥,这确实对你是个考验,所以说坚持下来也很不容易,但是如果你有兴趣就不会认为这是累,不会认为这很枯燥,总之还是贵在坚持。技术提升遇到瓶颈了?缺高级Android进阶视频学习提升自己吗?还有大量大厂面试题为你面试做准备! 阅读详情

相关推荐

Android自定义标题栏控件

标题栏控件是在App开发中使用最为广泛的一类控件,使用频率在第一梯队。Google跟苹果都很重视这样的一个控件,所以Android就有了ActionBar,苹果就有了UINavigationController。那么既然Android官方定义了actionbar,为什么还要自己定义标题栏呢?我觉得原因有很多,其中最主要的原因就是使用不方便,坑多。当然actionbar也有它的好处,那就是功能强大。我写这个控件的目的并不能完全覆盖actionbar的所有功能,只是在这种类似这样界面的标题栏,写代码会很高效。

跟着哆啦学Android 1140

Android 标题栏及导航栏设计与实现

ActionBar是Android 5.0以前的顶部标题栏,由于其不够灵活所有被ToolBar取代,所有我们要隐藏ActionBar。后 ,toolBar的事件监听才有作用。

qq_52108058的博客 9132

agv机器人托举结构_单舵轮AGV移动机器人解决方案

单舵轮AGV移动机器人小车底盘布局方案图单舵轮AGV移动机器人小车解决方案单舵轮AGV小车意指一台AGV小车配置一台【凤凰动力】电驱动舵轮,配置两只辅助轮从动轮(三轮结构)或四只辅助轮(五轮结构)需要更多更详细底盘配轮布置方案请关注本公众号。视频长度1分40秒以上视频为单舵轮潜伏式双向AGV小车实际案例视频供参考单舵轮AGV小车可实现,前进-后退-左右拐弯的行走功能。整体性能优于传统差速...

weixin_35757732的博客 1162

Android TitleBar标题栏

开发过程中会遇见很多app顶部的控制栏,封装一个通用TitleBar attrs.xml &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;resources&gt; &lt;declare-styleable name="TitleBar"&gt; &lt;!--标题--&gt; &a

xiangxiongfly 1734

【科普】干货!带你从0了解移动机器人(六) (底盘结构类型)

采用四舵轮底盘结构的AGV可以同时满足狭窄工作空间下的灵活性要求和车间复杂路面条件下的适用性要求,但由于其底盘结构复杂,使其在路径跟踪过程中存在不稳定的现象,不利于实际生产中的应用。和舵轮驱动的四轮行走机构小车相比,该车型由于省去了舵轮,不仅可以还能节省空间,小车可以做的更小些,因此常用于潜伏式AMR。不同移动机器人有着不同的构型,不同构型会带来性能上的差异,性能上的差异决定了其应用的场景。阿克曼底盘是一种常见的乘用车底盘结构,通过不同转向角度来实现车辆转弯的原理,实现车辆的转向和操控。

KCROBOT的博客 5039

ROS联合Webots之舵轮篇-搭建舵轮底盘

Webots搭建麦克纳姆轮底盘教程 ubuntu版本:20.04 webots版本:2021a ros版本:noetic 0.前言 之前笔者出过ROS联合webots开发教程,在教程中使用的是双轮差动底盘模型,今天笔者将带给笔者舵轮底盘的搭建教程。 注意:如果初学Webots搭建机器人,建议先从ROS联合webots实战案例(二)在webots中搭建机器人学起,这里面讲的比较详细。 1.真实模型 舵轮的其中一种结构如下图所示,但是不一定就只有这一种结构,还有很多结构能达到舵轮的要求。 从图中可以看到,舵轮

锡城小凯的博客 5483

单舵轮(叉车)AGV里程计数据解算

单舵轮(叉车)AGV里程计数据解算 2016-07 单舵轮AGV,一般包含一个驱动轮和两个从动轮,驱动轮是同时具备行走和转向两个功能的舵轮,因此,单舵轮AGV的运动学自由度为2个。舵轮线速度V1,舵轮转角θ。 AGV机器人里程计一般包含2 个方面的信息: 一、是位姿(位置和转角),即(x,y,θ)。 二、是速度(前进速度AGV的线速度V和转向速度AGV的角速度W)。 为了建...

weixin_34303897的博客 2762

【科普】干货!移动机器人底盘结构全解析:从单舵轮到阿克曼底盘

本文全面解析移动机器人底盘结构,涵盖舵轮系、差速系和特殊结构系三大类型,详细介绍了单舵轮、双舵轮、四舵轮、两驱差速、四驱差速、麦克纳姆轮和阿克曼底盘的特点与应用场景。通过实际项目经验,提供底盘选型的关键指标和实用建议,帮助读者根据载重需求、空间限制、运动要求和预算做出最优选择。

weixin_29032337的博客 685

单舵轮和双舵轮有什么区别?AGV底盘结构选型深度对比【2026年】

《AGV底盘单舵轮与双舵轮方案对比分析》摘要: 单舵轮AGV(1个主动转向单元+被动轮)成本低、控制简单,适合直线路径和宽转弯场景,但转弯半径大且无冗余;双舵轮AGV(2个主动轮)通过差速/同步转向实现全向移动、原地转向,适用于窄通道和重载场景,具备故障降级能力,但成本高30%-40%且控制复杂。选型需综合考量路径复杂度、负载(单舵轮≤2吨)、预算及可靠性需求,典型案例如仓储AGV多用单舵轮,汽车/半导体行业重载AGV倾向双舵轮。上海同毅等厂商提供灵活配置方案,支持多轴同步控制。

xiaohaiAIgeo的博客 519

全向移动小车运动控制_双舵轮AGV移动机器人解决方案

双舵轮AGV移动机器人小车底盘布局方案图双舵轮AGV移动机器人小车解决方案双舵轮AGV移动机器人意指一台AGV小车配置两台【凤凰动力】电驱动-舵轮,配置两只inAGV辅助从动轮(三轮结构)或四只辅助轮(六轮结构)。视频长度36秒以上视频为双舵轮全向AGV小车演示案例视频供参考双舵轮AGV移动搬运机器人小车可实现,前进-后退-左右拐弯-原地旋转-侧向横移-弧线拐弯等全向行走功能。整体性能优...

weixin_39810901的博客 3553

告别手动标注!用ENVI Classic高效搞定高光谱图像语义分割标签(以农业/地物分类为例)

本文详细介绍了如何利用ENVI Classic实现高光谱图像的半自动化智能标注,特别针对农业和地物分类场景。通过光谱特征分析、智能标注技巧和MAT文件转换,显著提升标注效率和质量,助力AI模型训练。

weixin_28694169的博客 251

底盘结构---舵轮与四轮四转模型

舵轮是一种集驱动与转向功能于一体的轮式结构,主要由驱动电机、转向电机、传动机构和编码器等组成。其核心原理是通过两个独立电机分别控制轮子的线速度和转向角度,实现灵活的全向移动。根据安装方向可分为卧式和立式舵轮,按驱动方式分为单舵轮、双舵轮和四舵轮。四轮四转模型通过四个独立舵轮的协同控制,可实现平移、旋转和斜向运动,适用于物流AGV、服务机器人和特种车辆等场景。运动学建模涉及正逆运动学求解,结合传感器融合和先进控制算法,可大幅提升运动精度和稳定性。

MzKyle的博客 7342

从零到一:用MSC Nastran Patran搞定悬臂翼颤振分析(附完整模型文件)

本文详细介绍了使用MSC Nastran和Patran进行悬臂翼颤振分析的完整流程,从几何建模、网格划分到模态分析和颤振求解。通过具体案例讲解关键参数设置和操作技巧,帮助工程师掌握气动弹性分析的核心方法,并附赠完整模型文件供实践参考。

weixin_42563415的博客 445

全向移动小车运动控制_四舵轮AGV移动搬运机器人解决方案

舵轮AGV移动机器人小车底盘布局方案图四舵轮全向AGV移动搬运机器人四舵轮AGV移动搬运机器人意指一台AGV小车配置四台【凤凰动力】电驱动-舵轮,配置两只或四只inAGV辅助从动万向轮轮(六轮结构)或(八轮结构)。以上视频为四舵轮全向AGV小车调试案例视频供参考以上视频为四舵轮全向AGV小车实际案例视频供参考配置了PhoenixPower@DriverWheels【凤凰动力】电驱动-舵轮...

weixin_30322969的博客 4783

c# U盘禁用---守护进程(插入,拔出,卸载等操作)

一、简介 传统的对U盘禁用,我们多采用修改注册表的方式,详情参考:https://blog.youkuaiyun.com/qq_25372599/article/details/79815407;本文将介绍一种其他的方式–后台守护程序。其原理非常简单:当守护程序检测到U盘的插入信号,我们自动卸载U盘,致使系统无法识别U盘,达到禁用U盘的效果。 二、程序设计 2.1 变量定义 strin...

星星之火燃亮码空 2848

【Azure 架构师学习笔记】- Azure Databricks (1) - 环境搭建

Databricks 已经成为了数据科学的必备工具,今时今日你已经很难抛开它来谈大数据,它常用于做复杂的ETL中的T, 数据分析,数据挖掘等,特别适用于做数据建模,机器学习等。那么顺应时代,现在也来看看这个工具的内容。首先要有一个环境,基于Azure 的Databricks简称ADB。托管在Azure 上的Databricks已经被Azure进行了很大的优化, 在搭建时只需要简单的几步即可拥有一个环境,不过要提醒一句ADB的集群并不便宜,用完马上删掉或停止, 否则一晚过百美金就会烧掉。

MVP黄钊吉(發糞塗牆) 2299

单舵轮AGV运动学模型总结

单舵轮AGV是由一个主动轮(驱动轮)+左右两个从动轮组成的AGV结构,在SLAM建图与导航中,需要根据电机编码器采集的信息和运动学模型去获取AGV的里程计信息(任一时刻的位置和姿态——位姿)。单舵轮 AGV叉车的激光雷达定位与路径跟踪-姚 铭 清华大学学报 (自然科学版)单舵轮 AGV叉车的高精度导航 算法研究与应用-刘志成 青岛科技大学。自动导引车车载系统研究与实现-浙大 范堃。#运动学模型示意图中注意的点。

LeslieJaywei的博客 1181

YOLOV8多模态(可见光+红外光目标检测任务,基于Ultralytics官方代码实现)

torch 2.3.1 torchvision 0.18.1 Python 3.8.19 tensorrt 8.5.3.1DroneVehicle数据集下载地址DroneVehicle 数据集由无人机采集的 56,878 张图像组成,其中一半是 RGB 图像,其余是红外图像。我们为这 5 个类别制作了丰富的注释,其中包含定向边界框。其中,汽车在 RGB 图像中有 389,779 个注释,在

Mjy的博客 7585

teb 叉车 参数 代码

teb 参数 代码 粗讲调参解决的问题重要参数说明合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 调参解决的问题 1 单舵轮叉车振荡抖动问题 2 仅靠teb让车能后退走直线 3 比较智能的车体运动 重要参数说明 网上也有不少讲解teb算法中

qq_40956668的博客 2489

高通平台WIFI学习-- WCN7851 三频 2X2 MIMO DBS HBS Wi-Fi 7介绍

WCN7851是支持Wi-Fi 7和蓝牙5.4的三频SoC芯片,具有以下核心特性:采用NSP334封装,支持2.4GHz/5GHz/6GHz三频段并发操作,最高速率达5.8Gbps;集成MU-MIMO、4096QAM调制技术,6GHz频段支持320MHz带宽;提供PCIe Gen3接口和低功耗设计,兼容多种无线标准。电气特性包括1.8V/1.2V可编程GPIO、76.8MHz时钟源要求,以及详细的射频性能参数。该芯片通过多链路操作和动态频率选择等先进功能,实现高性能无线连接。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1282

华为OD机试双机位C卷-组装新的数组(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【组装新的数组】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 组装新的数组。

qq_45776114的博客 1146

5的redis驱动方式是什么_干货!一个视频盘点AGV的转向驱动类型

AGV的转向驱动类型https://www.zhihu.com/video/1147813948907642880实现AGV高效精准的运行,离不开导航系统和转向驱动系统的通力协作。AGV在日常运输过程中需要用转向驱动装置来控制运动方式。不同的车轮结构和布局有着不同的转向和控制方式,其承重能力、运行精度、灵活性等也不尽相同,对运行地面环境也有不同的要求。那么,不同的转向驱动装置适用于什么应用场景?又...

weixin_29608291的博客 258

大数据与宠物:健康监测数据分析

随着全球宠物市场规模的快速增长(2023年全球宠物产业规模已达3500亿美元),宠物健康管理需求呈现指数级上升。传统宠物医疗依赖定期体检和症状观察,存在滞后性和主观性缺陷。本文聚焦如何通过物联网(IoT)设备采集宠物生理数据(体温、心率、活动量等),利用大数据分析技术构建实时健康监测系统,实现宠物健康状态的动态评估、异常预警和疾病预测。研究范围涵盖数据采集技术、数据预处理方法、机器学习模型构建及实际应用场景落地。背景介绍:明确研究目的、目标读者及核心术语核心概念与联系。

2502_91592937的博客 1068

5的redis驱动方式是什么_干货 | 盘点AGV的转向驱动类型

​AGV如何实现转向驱动?有哪些转向驱动类型?▼实现AGV高效精准的运行,离不开导航系统和转向驱动系统的通力协作。AGV在日常运输过程中需要用转向驱动装置来控制运动方式。不同的车轮结构和布局有着不同的转向和控制方式,其承重能力、运行精度、灵活性等也不尽相同,对运行地面环境也有不同的要求。那么,不同的转向驱动装置适用于什么应用场景?又有哪些优缺点呢?下面小编就给大家介绍一些常见的转向驱动类型。常见的...

weixin_42097189的博客 319

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

集成舵轮轮组:具身机器人核心驱动部件的技术变革与市场机遇

集成舵轮轮组正推动移动机器人向高精度、全向移动与智能化演进。随着国产技术突破,科亚电子等企业实现“八位一体”集成设计,具备自适应PID控制、零磨损布线等优势,成本降30%、交付提速50%,加速替代进口品牌。在政策支持与AI+制造趋势下,集成舵轮在重载AGV、具身机器人等领域前景广阔,市场将迈向智能化、轻量化与场景化发展。

xiagujk的博客 212

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: ListView中getView的原理+如何在ListView中放置多个item
下一篇: Java 十进制和十六制之间的转化(负数的处理)
gwpJava
博客等级 码龄14年 11粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值