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

Android窗口标题显示操作

 
阅读更多
我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制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默认

1.FEATURE_CUSTOM_TITLE详解
this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.main);


图2 无标题

这是因为没设置Featrue
在上面代码后加:getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title); 

图3自定义标题
自定义标题完成,它是一个xml文件布局
title.xml
<?xml version="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" >
  
  <ImageView android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:src="@drawable/icon"/>
   <TextView android:id="@+id/text"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignParentLeft="true"  
        android:text="文本" />  
  
</LinearLayout>

3.FEATURE_INDETERMINATE_PROGRESS详解
表示一个进程正在运行

图4标题进度条显示
实现代码
1.progress.xml
<?xml version="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">
  <ProgressBar android:id="@+id/progress"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"   
      android:layout_gravity="center_vertical"
      style="?android:attr/progressBarStyleSmallTitle">
</ProgressBar>
</LinearLayout>
 

2.Java代码
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
  setContentView(R.layout.main);

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

3.FEATURE_LEFT_ICON详解
左侧显示图标

图5
实现代码
  this.requestWindowFeature(Window.FEATURE_LEFT_ICON);
  setContentView(R.layout.main);
  
  getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.icon);
 

4.FEATURE_NO_TITLE详解
可用于全屏显示

实现代码
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.main);
 
  getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);


图6全屏显示
分享到:
评论

相关推荐

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    8天快速掌握Android教程源码

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

    传智播客的android开发源代码

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

    AppInventor2-2018版.rar

    另一个窗口的标题是Build Server…,这个是编译服务器窗口,当你选择编译菜单时,这个窗口的内容会刷新。在日常开发过程中,如果暂时不需要编译项目,可以将这个窗口关闭。同时要注意在服务启动过程中,如果系统...

    记事狗微博系统 4.7.4 Build 20140922 GBK.zip

    修复频道管理员给予前台相应的操作权限(编辑、删除、推荐微博等) 修复评论与转发微博时,上传附件不显示的问题 修复未认证的用户显示认证图标的BUG 修复V认证为空时显示空[]号的问题 修复登录后的默认首页跳转...

    记事狗微博系统 4.7.4 Build 20140922 UTF8.zip

    修复频道管理员给予前台相应的操作权限(编辑、删除、推荐微博等) 修复评论与转发微博时,上传附件不显示的问题 修复未认证的用户显示认证图标的BUG 修复V认证为空时显示空[]号的问题 修复登录后的默认首页跳转...

    FlexLayout:多标签版式管理器

    特征: 分离器标签标签拖动和排序拖动选项卡集(一次操作即可移动选项卡集中的所有选项卡) 停靠到标签集或框架边缘最大化标签集(双击标签集标题或使用图标) 选项卡溢出(选项卡溢出时显示菜单,使用鼠标滚轮滚动...

    source.zip

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

    【最新版】wechat_devtools_1.02.2004020.dmg【亲测可用】最好的微信开发者工具

    U 优化 MacOS 版关闭项目窗口时,显示项目列表窗口 U 优化 插件开发模式下 miniprogramRoot 下 app.json 中插件 provider 与项目 appid 一致时,version 必须为 "dev" F 修复 1.02.1912261 引入的多帐号调试 ...

    3G手机等嵌入式技术终端实现监控,视频会议,即时通讯的平台开发

    强大的界面定制:手机终端软件开放了自定义接口,支持自定义界面,可定制的内容主要包括:窗口标题、界面显示风格、窗口背景颜色、服务器信息等,,使得手机视频终端与现在视频应用游戏系统天然的集成,有一致的...

    Smshare★SMS和社交媒体分享(Extens…)「Smshare ★ SMS and Social Media Share[Extens…]」-crx插件

    设置为“空”作为发件人名称→添加了有关未授予Google联系人授权时的警报,以避免抱怨为什么自动完成功能不起作用^^→最后,对话进入了扩展名:)→添加了用户语音小部件以简化操作反馈提交。 我们需要您的反馈! →...

    opengl的太阳系模型

    // 定义窗口的标题、宽度、高度、全屏布尔变量 #define WIN_TITLE "模拟太阳系各星球的转动" const int WIN_WIDTH = 800; const int WIN_HEIGHT = 600; BOOL isFullScreen = FALSE; // 初始不为全屏 #define DEG_TO...

Global site tag (gtag.js) - Google Analytics