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.默认显示状态
2.FEATURE_CUSTOM_TITLE详解
this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
这是因为没设置Featrue
在上面代码后加:getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
自定义标题完成,它是一个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详解
表示一个进程正在运行
实现代码
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详解
左侧显示图标
实现代码
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);
虽然上面这样可以在标题栏加入一些控件,但是仍然不能改变标题栏的高度、背景色,要想达到这个目的,只能使用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值。
按照以上的步骤,修改标题栏布局、高度、背景色的功能就实现了。
android 标题样式,Android定义各种样式的标题栏:requestWindowFeature()相关推荐
- android 标题图标,android 中 actionbar 常用方法。设置标题,隐藏图标等
设置标题: actionBar.setTitle("关于我们"); 使返回箭头出现 actionBar.setDisplayHomeAsUpEnabled(true); 监听返回按 ...
- CSS基础 外部样式表 内嵌样式表 行内样式表
CSS简述:css是Cascading Style Sheet的缩写,直译过来为层叠样式表或级联样式表,简称样式表.利用css样式表定义页面样式,将会大大减少设计工作量.一些好的css样式表的建立,可 ...
- android学习之-Style样式的定义
这个例子主要是写了配置文件,main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLa ...
- android ratingbar 高度,Android RatingBar终极解决方案,大小、颜色、间距、样式随便定义...
用过RatingBar的都知道,这玩意比较坑,不好调整大小.间距.颜色及样式等难以自定义.这里给出一个RatingBar的终极解决方案-AndRatingBar. AndRatingBar开源库,它继 ...
- android popupmenu 自定义样式,Android:自己定义PopupMenu的样式(显示图标/设置RadioButton图标)...
PopupMenu是Android中一个十分轻量级的组件.与PopupWindow相比,PopupMenu的可自己定义的能力较小,但使用更加方便. 先上效果图: 本例要实现的功能例如以下: 1.强制显 ...
- Android TextView使用HTML处理字体样式、显示图片等
一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操 ...
- android 系统自带主题样式及自定义主题样式
From: http://blog.csdn.net/dawanganban/article/details/17732701 http://www.cnblogs.com/bluestorm/arc ...
- Android中Theme主题和Style样式使用介绍总结
1.Theme主题 1.1.Theme主题作用范围 Theme主要是针对应用级别的或者说窗体级别,可以设置应用主题(应用换肤效果)和Activity的主题:主题是不能应用在某一个单独的View中:或者 ...
- Android toolbar menu 字体点击样式
今天在做toolbar的时候,右边的菜单的点击事件,就是文字,然后文字的样式,文字的大小,文字的颜色,高了半天.最后发现,文字点下去之后是有样式的,也就是按下去有阴影. 哥哥的耐心好,就知道这不是问题 ...
最新文章
- 与旷视、商汤等上百家企业同台竞技?AI Top 30+案例评选等你来秀!
- 怎样知道一个数是不是2的N次方,怎样判断一个数是奇数还是偶数
- Mybatis like查询的写法--转载
- 浅谈PHP在各系统平台下的换行符
- nginx session共享_Centos下实现nginx负载均衡
- 获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值
- node.js第十课(HTTPserver)
- 如何学习微信小程序? 学习微信小程序所需基础
- LoadRunner教程(24)-LoadRunner 读取Excel数据参数化
- 音视频中的码率控制(CBR、VBR、CVBR、FIXQP)
- 谈谈IT行业的各种证书
- 103000大写加零吗_关于支票金额大写规范写零的问题,比如1008712元,100万后要不要加零...
- 关于阿里云windows服务器上ping不通公网 ip 的解决思路
- Web实时语音/视频聊天/文件传输
- 【原创】我所认识的银行业务之旅(开篇)
- Win10 schtasks 不稳定问题
- 基于python的停车场管理系统的设计与实现/智能停车管理系统
- 幂律分布(python)
- Altium Designer PCB封装库放置3D模型对齐问题的解决思路
- 如何通过企业微信便捷访问华为云、阿里云?
热门文章
- 【译】NoClassDefFoundError和ClassNotFoundException的不同
- Java高质量代码之 — 泛型与反射
- 关于《详解》第12.1节按键驱动的进一步阐述
- python在函数内部有没有办法定义全局变量_主函数内部的全局变量python
- Fiddler中response乱码的解决方案
- Oracle Minus关键字 不包含 取差集
- Spring IOC容器【p名称空间注入属性值 】
- python 百度ocr识别_Python使用百度Ocr识别文字保存CSV
- h5文字垂直居中_CSS中垂直居中和水平垂直居中的方法
- aes离线解密工具_如何在Python中解密OpenSSL AES加密文件?