常见自定义titlebar的方法是在values文件夹中新建一个我们自己的titlebar主题,例如:
values/custom_styles.xml:
然后在manifest文件中为activity添加自定义主题,
这样就基本上完成了自定义titlebar。
声明无标题栏的方法更简单就是直接在activity中添加语句
但是无论是通过上面代码定义无标题栏的activity,还是通过自定义主题重写titlebar,app首次载入时,系统总是会闪现一下app_name,然后才会运行我们定义的titlebar行为。这是一个令人诡异的行为。那么怎么去除app_name呢?
首先我们来看一下android运行app的基本原理:在系统运行一个application时,为了尽快响应用户,android首先会给用户呈现一个app的“preview”窗口,这个界面甚至早于应用的实际进程。这个预览“preview”窗口中的信息就是从app的manifest文件中获得的,所以一般app运行时总会显示一个具有app_name的titlebar,而不论我们在程序中如何定义我们的titlebar。所以解决的办法来了。
首先我们可以在app的manifest文件中,给我们的main activity添加无标题栏的主题
声明我们的app根本不需要titlebar,这样app首次载入便不会闪现一下带有app_name的titlebar了。这比
解决的办法是在需要自定义titlebar的activity中通过
声明回标题栏。
需要注意的是setTheme(android.R.style.Theme);语句需要放在oncreat()语句的最前面否则会报错的。例如:
这样运行期间系统就会直接运行我们定义的标题栏,而不是先短暂的呈现app_name,再呈现我们的标题栏特征。
values/custom_styles.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="TitlebarBackgroundStyle"> <item name="android:background">@drawable/titlebar</item> </style> <style name="Theme.MyCustomTheme" parent="android:Theme"> <item name="android:windowTitleBackgroundStyle">@style/TitlebarBackgroundStyle</item> <item name="android:windowTitleSize">45dp</item> </style> </resources>
然后在manifest文件中为activity添加自定义主题,
<activity android:name=".MyTitleBar" android:label="@string/app_name" android:theme="@style/Theme.MyCustomTheme" //注意添加与此
这样就基本上完成了自定义titlebar。
声明无标题栏的方法更简单就是直接在activity中添加语句
requestWindowFeature(Window.FEATURE_NO_TITLE);
但是无论是通过上面代码定义无标题栏的activity,还是通过自定义主题重写titlebar,app首次载入时,系统总是会闪现一下app_name,然后才会运行我们定义的titlebar行为。这是一个令人诡异的行为。那么怎么去除app_name呢?
首先我们来看一下android运行app的基本原理:在系统运行一个application时,为了尽快响应用户,android首先会给用户呈现一个app的“preview”窗口,这个界面甚至早于应用的实际进程。这个预览“preview”窗口中的信息就是从app的manifest文件中获得的,所以一般app运行时总会显示一个具有app_name的titlebar,而不论我们在程序中如何定义我们的titlebar。所以解决的办法来了。
首先我们可以在app的manifest文件中,给我们的main activity添加无标题栏的主题
android:theme="@android:style/Theme.NoTitleBar"
声明我们的app根本不需要titlebar,这样app首次载入便不会闪现一下带有app_name的titlebar了。这比
requestWindowFeature(Window.FEATURE_NO_TITLE);好使得多。但是问题来了,如果我还想要app呈现我自定义的标题栏怎么办呢?
解决的办法是在需要自定义titlebar的activity中通过
setTheme(android.R.style.Theme);
声明回标题栏。
需要注意的是setTheme(android.R.style.Theme);语句需要放在oncreat()语句的最前面否则会报错的。例如:
protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub setTheme(R.style.MyCustomTheme);//注意这一句的位置 super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.progressbar_test); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, // 注意顺序 R.layout.title);
这样运行期间系统就会直接运行我们定义的标题栏,而不是先短暂的呈现app_name,再呈现我们的标题栏特征。
发表评论
-
Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等
2011-09-30 16:08 1387方法一:(java习惯,在android不推荐使用) 刚刚开始 ... -
Java子类与父类的初始化
2011-09-30 14:23 4114class Parent{ in ... -
Android自定义对话框
2011-05-06 19:01 5744Android给我们提供了 AlertDialog类,使我们可 ... -
如何在android应用中添加项目符号
2011-05-05 11:28 3276如何给TextView控件中添加项目符号呢? ul/li/o ... -
关于横竖屏切换activity重启的问题
2011-03-03 10:24 1375摘自:http://nwhy.org/android-conf ... -
android系统图标大全
2011-03-01 13:38 1668http://since2006.com/android/2. ... -
在WebView中调用拨号键
2011-03-01 13:18 1604原文:http://blog.sina.com.cn/s/bl ... -
自定义软键盘的Enter键
2011-01-11 20:05 3069我们在用新浪微博的登录注册时,会发现当鼠标放在第一个EditT ... -
一些标准操作所需的时间量
2011-01-10 21:52 988android应用中一些基本操作所需的时间量如下: 操作 ... -
对java编程应注意的基本优化
2011-01-10 20:04 1007摘自android应用开发解密一书中。 [1] 尽量指定 ... -
android系统部分广播
2010-12-27 16:23 2955转自:http://ming-fanglin.iteye.co ... -
android模拟器常用功能对应的快捷键列表
2010-12-13 10:57 1147有时候我们在使用Android模拟器时为了操作快速,我们总想使 ... -
谷歌宣布两周内推出新版Android Market
2010-12-12 23:13 824原文摘自新浪新闻,http://tech.sina.com.c ... -
最近在翻译国外一本新书 The Android Developer's Cookbook: Building Applications with the敬请关注
2010-12-12 11:57 1193最近在翻译国外一本新书 The Android Develop ... -
在模拟器上安装apk程序安装包
2010-12-12 11:33 1110在Android 模拟器上安装程序安装包apk,可以通过adb ... -
为Android添加第三方的jar包
2010-12-11 15:40 3039如果要给Android程序添加第三方的jar包,我们可以点击项 ... -
Android出现Could not find ***.apk!错误
2010-12-11 15:33 2036如果Android程序运行时出现Could not find ... -
使用ScrollView应注意的基本设置
2010-12-03 10:36 2446有时候我们在布局文件中需要使用Scrollview组件,使用时 ... -
如何为一个组件的同一属性同时声明两个值
2010-12-01 19:39 935在android开发中有时候我们可能像给一个组件声明两个位置属 ... -
虚拟机sdcard文件的删除
2010-11-22 10:51 1719adb remount adb shell cd sdcard ...
相关推荐
主流app描述信息,包含package_name,app_name,app_info等基本信息
这个名为"MIT_App_Inventor_Tools_2.3.0_win_setup.zip"的压缩包,包含了在Windows操作系统上安装MIT App Inventor所需的全部组件,特别是其Android模拟器,让用户无需物理设备就能进行APP的调试和测试。 1. **MIT ...
### Nordic51822 和 52832 的 APP_ERROR_CHECK(err_code)程序错误检查 #### 一、概述 ...此外,建议在开发过程中不要简单地屏蔽`APP_ERROR_CHECK(err_code)`函数,而应该充分利用其功能来提高代码质量。
7. **c_app_window_ico.png**:这是窗口的图标文件,通常在程序启动时显示在任务栏和标题栏上。 8. **c_app_window.sln**:这是Visual Studio解决方案文件,用于组织和管理多个项目,方便开发和构建。 9. **c_app_...
标题中的“App_Browsers for ie11”指的是一个专门针对Internet Explorer 11(简称IE11)浏览器的解决方案,该方案与ASP.NET框架有关。ASP.NET是Microsoft开发的一个用于构建Web应用程序的框架,它提供了丰富的...
web-app_2_4.xsd
在Xamarin开发Android应用时,有时我们希望去除应用程序界面中的标题栏(title bar),以提供更简洁、沉浸式的用户体验。本教程将详细讲解如何在Xamarin.Android项目中实现这一目标,以及如何通过Visual Studio 2017...
多语言切换的问题主要用到了App_GlobalResources文件夹和他下面的资源文件,以及Global.ascx文件 本程序中只做了中文和英文的切换,并且程序比较简单 根据自己在学习的过程中的一些经验将网上的代码简单的总结了下,...
在Android应用开发中,自定义标题栏是一种常见的需求,它能提供独特的用户界面风格和功能。本教程将详细讲解如何创建一个自定义标题栏,并在其中添加控件,以及实现这些控件的监听和响应事件。 首先,我们需要理解...
标题中的".net C# ie10下 回发问题解决文件 app_browsers/IE.browser"涉及了.NET框架、C#编程语言以及IE10浏览器的回发(PostBack)问题。回发是ASP.NET中一个重要的概念,它指的是用户在Web表单中进行操作后,页面...
- 多任务处理:用户可以在app_name中同时打开多个窗口,进行多任务处理,提高生产力。 - 高效协作:app_name支持共享文件和链接,团队成员可以实时编辑同一文档,促进协作效率。 - 安全保护:为了确保用户数据的...
在本文中,我们将深入探讨GStreamer框架中的`appsrc`元素以及如何利用它来处理H264编码的图像。GStreamer是一个强大的、模块化的多媒体处理框架,它允许开发者构建复杂的多媒体管道,用于处理音频、视频和其他类型的...
在Android应用开发中,隐藏或显示标题栏、状态栏以及导航栏是常见的需求,这有助于创建沉浸式用户体验或者根据设计需求调整界面布局。本篇将深入探讨如何在Android中实现这些功能。 首先,我们来讨论如何隐藏和显示...
标题 "app_pythonflask_" 暗示了这个压缩包包含了一个使用Python Flask框架开发的应用程序。Flask是一个轻量级的Web服务器网关接口(WSGI)Web应用框架,由Armin Ronacher创建。它提供了基本的工具、库和约定来让...
在自定义标题栏的示例中,App.vue通常会包含自定义标题栏的模板结构,以及对应的样式和逻辑。 5. **static**:这是一个静态资源目录,可以存放图片、字体文件等。在自定义标题栏中,可能包含用于标题栏的图标或背景...
在模板例子中,我们可以修改 WHEN-NEW-FORM-INSTANCE 中文件夹数据块定义语句中的参数,确定对象名称(一般为 form 对象名称)、文件夹数据块名称、标题块名称、堆叠画布名称、窗口名称等。 例如,我们可以定义一个...
package_name=A_APP_PACKAGE&B_APP_PACKAGE=B_APP_PACKAGE"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); ``` 3. **处理Intent**:在B_APP的主Activity中,我们需要捕获并解析...
标题“Android仿百度外卖APP首页状态/标题栏效果(沉浸式状态栏)”提到的技术点,主要是如何在Android应用中实现类似百度外卖APP那样的顶部状态栏和标题栏一体化的视觉效果,让标题栏融入到系统状态栏中,形成无边界...
在Android应用开发中,标题栏(Toolbar)是用户界面中的重要组成部分,它为用户提供应用程序的标识、导航功能以及操作选项。本教程将详细介绍如何通过简单的封装实现一个适用于各种场景的通用标题栏。参考链接:...
本示例提供的BootLoader_App_DownloadTools包含以下三个主要部分: 1. **Boot2**:这是STM8的BootLoader源代码。它通常包括两个阶段:第一阶段是BootLoader的最小功能集,用于初始化基本的CPU寄存器、时钟和其他...