android 标题样式,Android定义各种样式的标题栏:requestWindowFeature()

最近在网上看到一篇介绍Android window的requestWindowFeature()的使用方法,共享出来大家学习学习

requestWindowFeature(Window.FEATURE_LEFT_ICON);

setContentView(R.layout.dialog_activity);

getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, android.R.drawable.ic_dialog_alert);

Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)

我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制Android应用程序的窗体显示.

首先介绍一个重要方法那就是requestWindowFeature(featrueId),它的功能是启用窗体的扩展特性。参数是Window类中定义的常量。

一、枚举常量

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:标题栏右侧的图标

二、详解1.默认显示状态

9c8daafb2c40fcefc9410973c06bd061.gif

2.FEATURE_CUSTOM_TITLE详解

this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

setContentView(R.layout.main);

bc850b02fcf12ee12220fb89ad0afe91.gif

这是因为没设置Featrue

在上面代码后加:getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);

c261a2fe031722de73224e43797286d6.gif

自定义标题完成,它是一个xml文件布局

title.xml

xmlversion="1.0"encoding="utf-8"?>

<<>LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

<<>ImageViewandroid:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/icon"/>

<<>TextViewandroid:id="@+id/text"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:text="文本"/>

3.FEATURE_INDETERMINATE_PROGRESS详解

表示一个进程正在运行

ab3c5b97872930b54614f783ede7f719.gif

实现代码

1.progress.xml

xmlversion="1.0"encoding="utf-8"?>

<<>LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

<<>ProgressBarandroid:id="@+id/progress"

android:layout_width="wrap_content"android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

style="?android:attr/progressBarStyleSmallTitle">

2.Java代码

this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

setContentView(R.layout.main);

getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress);

setProgressBarIndeterminateVisibility(true);this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

setContentView(R.layout.main);

getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress);

setProgressBarIndeterminateVisibility(true);

4.FEATURE_LEFT_ICON详解

左侧显示图标

fd382f745085cf811ad25adb209a294d.gif

实现代码

this.requestWindowFeature(Window.FEATURE_LEFT_ICON);

setContentView(R.layout.main);

getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.icon);this.requestWindowFeature(Window.FEATURE_LEFT_ICON);

setContentView(R.layout.main);

getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.icon);

5.FEATURE_NO_TITLE详解

可用于全屏显示

实现代码

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.main);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.main);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

6559ae1fdaed0d0726ab00f28e6d48cc.gif

虽然上面这样可以在标题栏加入一些控件,但是仍然不能改变标题栏的高度、背景色,要想达到这个目的,只能使用theme(主题)。因此往project里先添加一个style。改变背景色修改android:windowTitleBackgroundStyle的值,改变标题栏高度则修改android:windowTitleSize的值。下面是一个示例:

xmlversion="1.0"encoding="utf-8"?>

#778899

32dp

@style/CustomWindowTitleBackground

接着再修改AndroidManifest.xml文件,找到要自定义标题栏的Activity,添加上android:theme值,比如:

android:theme值就是上面那个style.xml文件里定义的一个style的name值。按照以上的步骤,修改标题栏布局、高度、背景色的功能就实现了。xmlversion="1.0"encoding="utf-8"?>

<<>resources>

<<>stylename="CustomWindowTitleBackground">

<<>itemname="android:background">#778899

<<>stylename="activityTitlebar"parent="android:Theme">

<<>itemname="android:windowTitleSize">32dp

<<>itemname="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground

接着再修改AndroidManifest.xml文件,找到要自定义标题栏的Activity,添加上android:theme值,比如:

android:theme值就是上面那个style.xml文件里定义的一个style的name值。

按照以上的步骤,修改标题栏布局、高度、背景色的功能就实现了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

m1笔记本android开发,Apple M1设备开发Android小tips

虽然m1来开发android是挺有优势的&#xff0c;苦于google目前还没有支持m1芯片的android studio版本(包括测试版) 截稿日期2021-5-14&#xff0c;所以我们当下可以选择idea2021&#xff0c;原生支持m1&#xff0c;而且编译速度运行效率更快(同时也会让你失去摸鱼时间)&#xff…

harmonyOS智慧屏,在鸿蒙HarmonyOS智慧屏上实现一款粗糙的计算器

在学习的路上我们不能只是停留在对理论知识的理解&#xff0c;还应该将理论和实战进行结合&#xff0c;这样才有利于我们能够更有深度的掌握知识&#xff0c;最终形成自己的知识体系结构。我们在实战的时候&#xff0c;不仅可以巩固我们的理论知识&#xff0c;还能够在实战中发…

imx6 android快速启动,android启动不起来(已解决)

我使用imx6dl,使用JB4.3.3-1.1.0版本&#xff0c;但在启动的时候最后停在了Freeing init memory: 232K&#xff0c;就没了动静&#xff0c;各位大侠帮忙分析一下吧&#xff1a;以下是log:U-Boot 2009.08 ( 1&#xfffd;&#xfffd;月 08 2014 - 15:47:46)CPU: Freescale i.MX…

华为公布4月升级鸿蒙,华为余承东:鸿蒙OS今年4月见,华为Mate X2首批升级

随着搭载鸿蒙OS的终端设备日益增多&#xff0c;鸿蒙系统何时应用于手机成为舆论关注的焦点。特别是在2020年12月华为发布鸿蒙OS 2.0手机开发者Beta版本之后&#xff0c;公众对手机上运行鸿蒙OS的期待值越来越高。余承东在发布会上表示&#xff0c;从今年4月开始&#xff0c;华为…

android酷狗缓存目录,酷狗缓存的歌曲在哪个文件夹_酷狗音乐缓存的歌曲在电脑哪个目录-win7之家...

酷狗是一款很流行的音乐播放软件&#xff0c;当我们在听歌曲的时候&#xff0c;默认会缓存到文件夹中&#xff0c;方便下次没有网络的时候可以继续听这首歌&#xff0c;有些用户想要知道酷狗缓存的歌曲在哪个文件夹&#xff0c;我们可以从主界面中进入即可找到&#xff0c;接下…

html给文字添加阴影效果,如何设置样式之添加文字阴影、边框阴影或者添加自己的CSS...

以下的例子只是样式面板的使用案例之一&#xff0c;样式面板功能很强大&#xff0c;几乎能完成您的所有需求&#xff0c;详情参阅这里。边框的案例可以参阅这里。一、如何给文字添加阴影效果首先&#xff0c; 打开CSS工作面板请依次点击&#xff1a;右侧栏“样式面板”按钮(见第…

湖北大学计算机科学与技术怎么样,湖北大学(专业学位)计算机技术考研难吗

考研真题资料优惠价原价选择很多考生在准备湖北大学(专业学位)计算机技术考研难吗&#xff1f;是考研报考的时候都会产生这样的疑问&#xff1a;这个专业的研究生好吗&#xff1f;适合我吗&#xff1f;对我以后的人生和职业会有帮助吗&#xff1f;考生在准备湖北大学(专业学位)…

计算机打开共享网络连接打印机共享打印机,网络共享打印机连接不上怎么办_电脑连不上共享打印机如何解决-win7之家...

通常为了方便多人可以一起共用一台打印机&#xff0c;都会在局域网络中将打印机共享&#xff0c;可是近日有不少用户却遇到网络共享打印机连接不上的情况&#xff0c;这该怎么办呢&#xff0c;确认打印机已经共享&#xff0c;并且电脑在同一个家庭组里&#xff0c;针对脑连不上…

html盒子居中的方式,CSS盒子居中三种方法

前言CSS盒子居中&#xff0c;我觉得是很有必要学习一下的。特别是第三种方法&#xff0c;奇淫技巧升级版&#xff0c;也是生产环境中非常常见的一种方法&#xff0c;不需要知道宽度&#xff0c;随着祖先元素的变化而变化&#xff01;1.常规方法常规方法只需要给盒子设置宽高&am…

台式计算机如何上网设置,台式电脑怎样设置宽带自动连接?

1、以Win7系统为例&#xff0c;在桌面任务栏中对着网络图标击右键&#xff0c;选择“打开网络和共享中心”菜单&#xff1b;2、在打开的页面中&#xff0c;点击页面左侧“更改适配器设置”按钮&#xff1b;3、在打开的页面中&#xff0c;找到宽带连接设置项&#xff0c;对其击右…

台式计算机更新不了,台式机更新造成电脑关不了机怎么办

电脑无法关机这个问题并不常见&#xff0c;可一旦出现这种问题了&#xff0c;那么我们要如何正确的处理它呢&#xff1f;想处理这个问题&#xff0c;首先&#xff0c;我们需要先了解下到底是什么原因导致的 Windows 无法正常关机。一般情况下&#xff0c;在 Windows 系统中&…

认识计算机的桌面,电脑桌面的基础知识教程,教你认识电脑桌面

教你认识电脑桌面1、工作区 桌面上的大片空白称为工作区&#xff0c;上面可以放置各种图标&#xff0c;显示打开的窗口&#xff0c;桌面上一般放置几个固定的图标和带箭头的快捷方式图标&#xff1b;2、图标 图标是一个小图片下面有文字&#xff0c;一个图标代表一个文件或者是…

哈工大华中科技大学计算机学院官网,我国重点大学排名盘点,哈工大重回前十,北理工只排十四...

最近&#xff0c;同学会公布了我国重点大学排名&#xff0c;这个排行榜直观地显示了我国的高校、全国排名、学校运营水平。这次荣登榜首的是圆明园职业技术学院——北京大学&#xff0c;学校和清华轮番追逐第一&#xff0c;这次的北大胜出&#xff0c;这两所大学都把重点放在了…

红米note3支持html,【小米红米Note3评测】外观变化不小 金色版略显俗套_小米 红米Note3_手机评测-中关村在线...

外观变化不小 金色版略显俗套本次发布会上并没有像红米Note 2那样一直在标榜颜值&#xff0c;或许雷布斯也清楚大电池带来的重量和厚度的增加、没有延续彩色背壳的设计再标榜颜值意义不大吧&#xff0c;毕竟群众的眼光是雪亮的。金色版本的配色在之前的某些品牌的机型上似曾相识…

word无法验证服务器,Office提示“无法验证此应用程序的许可证”时怎么处理?...

Office提示“无法验证此应用程序的许可证”时怎么处理&#xff1f;出现该提示和系统中的一些服务有关联&#xff0c;因为其正巧被用户禁用启动了&#xff0c;需要用户将TA启用并设置为自动即可解决问题&#xff0c;具体操作方法如下文步骤。Office提示“无法验证此应用程序的许…

ddr3服务器内存条维修,详解服务器中内存故障的优质解决方案

谈及X86服务器平台的CPU&#xff0c;很多人可能对英特尔和AMD两大芯片巨头的产品如数家珍&#xff0c;从之前的至强5400到主流的至强5600、至强7500&#xff0c;以及AMD强劲的12核心x86处理器“Magny-Cours”(马尼库尔)等等。同时&#xff0c;服务器的另外两个核心在CPU的基础上…

绝地求生7月5日服务器维护,绝地求生7月5日更新到几点 吃鸡更新维护公告

绝地求生将会在7月5日的早上10点进行一次新版本的更新&#xff0c;这次没什么重要的更新内容&#xff0c;预计是3个小时&#xff0c;估计会提早&#xff0c;大家可以做好准备&#xff0c;下面就来为大家分享一下绝地求生的更新维护公告。【正式服维护公告】我们将在北京时间 7 …

ginapi服务器性能,如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (一)

gin-gonic介绍Go 语言最近十分火热&#xff0c;但对于新手来说&#xff0c;想立马上手全新的语法和各种各样的框架还是有点难度的。即使是基础学习也很有挺有挑战性。在这篇文章中&#xff0c;我想用最少的代码写出一个可用的 API 服务。这个 API 可以提供增删改查(CRUD)这些基…

svn 无线服务器,远程svn服务器

远程svn服务器 内容精选换一换远程桌面链接Windows云服务器报错&#xff1a;连接被拒绝&#xff0c;因为没有授权此用户账户进行远程登录。Windows远程桌面相关权限配置异常。在运行窗口输入secpol.msc&#xff0c;打开组策略编辑器打开"本地策略 > 用户权限分配 > …

人类跌落梦境显示无法连接服务器,人类跌落梦境手游进不去闪退怎么办 人类跌落梦境无法进入解决方法...

人类跌落梦境进不去怎么办?不少玩家都出现了游戏无法进入的情况&#xff0c;下面小编就为大家带来人类跌落梦境无法进入解决方法&#xff0c;一起来看看吧。人类跌落梦境手游进不去闪退怎么办 人类跌落梦境无法进入解决方法方法一&#xff1a;核对开服时间1、人类跌落梦境于12…