`
guoyiqi
  • 浏览: 964239 次
社区版块
存档分类
最新评论

Android之定义各种样式的标题栏

 
阅读更多

最近在网上看到一篇介绍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




3.FEATURE_INDETERMINATE_PROGRESS详解

表示一个进程正在运行


实现代码

1.progress.xml

2.Java代码



4.FEATURE_LEFT_ICON详解

左侧显示图标


实现代码


5.FEATURE_NO_TITLE详解

可用于全屏显示

实现代码



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


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

<activity android:name=".MainActivity" android:theme="@style/activityTitlebar">

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

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





分享到:
评论

相关推荐

    Android底部tab栏与标题栏结合

    实现了Android的底部tab切换界面,并实现了不同tab有不同的标题显示样式。这在项目中很常用。

    自定义Activity标题栏(增加关闭和隐藏Activity的按钮)

    通过自定义标题栏的样式,在标题栏增加关闭和隐藏的按钮,实现Activity的关闭和隐藏。效果就是像我们window上的浏览器上的关闭和隐藏效果。

    Android中自定义标题栏样式的两种方法

    主要介绍了Android中自定义标题栏样式的两种方法,同时讲解了自定义标题栏布局的实现,需要的朋友可以参考下

    Android自定义简单的顶部标题栏

    本文实例为大家分享了Android实现简单顶部标题栏的具体代码,供大家...1.创建一个布局文件,命名,layout_titlebar,来部署我们的标题栏样式,可以自定义更改,图片文件可暂时用自己的替代 &lt;?xml version=1.0 encoding=u

    Android 自定义标题栏背景

    设置标题栏背景 1&gt; 准备背景图片: background_pix.png 注:用背景图片比用颜色好处,可以让背景看起来有凹凸感. 2&gt; drawable文件夹下放xml文件 bitmap_repeat.xml &lt;?xml version=1.0 encoding=utf-8?&gt; ...

    Android中BaseActivity自定义标题栏

    再做一个项目的时候,要求标题栏的标题再中间,样式,字体大小都要自定义。左边一个返回按钮,一个关闭按钮,右边定义一个提交按钮,有时候显示有时候隐藏。因为原生的title标题是再左边的,然后去给Titlebar设置...

    Android自定义TitleView标题开发实例

    Android开发过程中,经常遇到一个项目需要重复的定义相同样式的标题栏,Android相继推出了actionBar, toolBar, 相信有用到的朋友也会遇到一些不如意的时候,比如标题栏居中时,需要自定义xml文件给toolBar等,不了解...

    Android自定义横向滑动菜单的实现

    本文讲述了Android自定义横向滑动菜单的实现。分享给大家供大家参考,具体如下: 前言  开发安卓过程中,经常会用到标题栏的样式,有时候传统方式不能满足开发者的需要,这时候就需要自定义控件来实现。(注意:...

    微信小程序自定义导航栏实例代码

    背景 在做快狗打车小程序时,关于默认导航栏,我们遇到了以下的问题: Android、IOS手机对于页面title的展示不一致,安卓title的显示不...小程序支持自定义导航栏,只需要在app.json文件中,window项中配置 "navi

    Android使用setCustomTitle()方法自定义对话框标题

    但是不太美观,如果要给弹出的对话框设置一个自定义的标题,使用AlertDialog.Builder的setCustomTitle()方法非常方便,接下来通过本文给大家介绍Android使用setCustomTitle()方法自定义对话框标题,感兴趣的朋友一起...

    一款带壁纸的自定义Android日历app以及源代码

    一款自定义的日历app以及源代码...⑦ 使用了自定义的光标样式区分“事件标题”和“具体内容”; ⑧ 使用了“沉浸模式”(使背景图和系统状态栏融合),带来更好的视觉效果; ⑨ 使用了自定义形状的按钮,避免呆板;

    CollapsingToolbar侧滑菜单和折叠式菜单(标题栏)

    实现了多种样式的效果:CollapsingToolbarLayout可折叠式标题栏;沉浸式状态栏、actionBar渐变、scrollView顶部伸缩;1.往上滚动:在图片刚出现时展示顶部部分,随着滚动部分展示全部;\n2.往下滚动:在图片刚出现时...

    Android程序开发之Fragment实现底部导航栏实例代码

    流行的应用的导航一般分为两种,一种是底部导航,一种是侧边栏。 说明 ...顶部去除ActionBar后的标题栏; 中间一个FragmentLayout用来放相应的Fragment; 底部一个大的LinearLayout放着四个样式一样

    ActionBarEx:高拓展高自定义性ActionBar,完美替代Android系统默认

    支持自定义标题栏布局,支持XML中直接以子布局编写 支持自定义前景布局,如显示Loading效果 支持自定义背景布局,如图片等 支持自定义底部分割线,可以投影效果显示在外部 支持自适应状态栏暗亮色图标模式,可实时...

    微信小程序实战之仿android fragment可滑动底部导航栏(4)

    相关教程:微信小程序教程系列之设置标题栏和导航栏(7) 但是通过设置的这个底部的导航栏,功能上比较固定,它必须要设置与它对应的一个页面,而且并不能滑动。 在业务上,有时候会比较限制,并不能完全满足所需。...

    android dialog边框去除白色边框实现思路及代码

    使用样式文件,在values 目录下新建styles.xml文件,编写如下代码: 代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/–&gt;&lt;resources&gt; &lt;style name=...

    8天快速掌握Android教程源码

    62_自定义窗口标题.avi 所在项目:customtitle 63_PopupWindow.avi 所在项目:PopupWindow 64_ListView数据异步加载与AsyncTask.avi 所在项目:DataAsyncLoad 65_ListView数据的分批加载.avi 所在项目:datapageload...

    Apex_Launcher_Android_4.0+_1.3.5已付费版

    Apex Launcher(Apex启动器)能够帮助您在Android 4.x ICS/Jelly Bean设备上创建自定义主屏幕体验。GO桌面、ADW Launcher、LauncherPro在ICS系统上已经过时,真正Holo风格的启动器才是王道! apex launcher pro的...

    BottomDialog:可高度自定义的底部布局,使用BottomSheet,支持滚动布局,同时底部布局不会因BottomSheet未显示全部内容而隐藏

    心水很久的底部样式样式,同时在Google Play商店也见到过此样式,不过经过多次问询,没得到想要的结果。只好自己动手实现。 使用BottomSheet,支持滚动布局,同时底部布局不会因BottomSheet未显示全部内容而隐藏。 ...

Global site tag (gtag.js) - Google Analytics