再打开手机app的时候,最先映入我们眼帘的是一个覆盖手机全屏的欢迎界面,在这个界面显示出来的时候整个手机屏幕只会显示这一个界面,上面的标题栏,以及手机最顶端的状态栏都会消失,只有欢迎页面结束跳转到其他页面时,标题栏和状态栏才回又显示出来。 现在我们就来制作一下欢迎界面。

欢迎界面的设置

首先,我们需要先创建一个Activity来承载这样一个。首先找到res文件夹下的Layout文件夹,创建一个Activity用于承载欢迎界面,也可以直接利用已经创建好的MainActivity,在使用其他的Activity时,要把默认的访问界面,需要在AndroidManifest.xml文件里,把默认MainActivity改为欢迎界面的Activity。在Activity中可以设置为页面的背景图片,同样可以添加一个imageView控件来进行显示图片,把背景图片统一放到mipmap文件夹中。

android:background="@mipmap/welcome"  

//或者
<ImageView
android:id="@+id/iv_man"
android:layout_width="67dp"
android:layout_height="202dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp"
android:background="@drawable/intro_item_manrun_1"
android:visibility="visible" />

添加图片完成后,下面就是设置标题栏和窗口的消失。在setContentView(R.layout.activity_main)之前添加一些方法控制着他们消失

 //全屏显示,隐藏窗口所有装饰
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
//标题是属于View的,所以窗口所有的修饰部分被隐藏后标题依然有效,需要去掉标题
requestWindowFeature(Window.FEATURE_NO_TITLE);

正常情况下requestWindowFeature(Window.FEATURE_NO_TITLE)是可以生效的,但是当Activity继承子AppCompatActivity的时候,这个就失效了,不过不用担心,还有以下几种解决的办法

// 手动在oncreate里调用hide()
if (getSupportActionBar() != null){
getSupportActionBar().hide();
} // 第二种最简单 直接用supportrequestwindowFeature好了:
supportRequestWindowFeature(Window.FEATURE_NO_TITLE); // 第三种 直接修改style 缺点直接全局了(注意继承)
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>

状态栏设置透明

 if (Build.VERSION.SDK_INT >= 21) {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
getWindow().setStatusBarColor(Color.TRANSPARENT);
}

最新文章

  1. 1028作业:Java语法基础
  2. ndk-stack 使用(分析native代码stack)
  3. public static void Invoke (Action action)
  4. Spring、mybaits整合
  5. POJ 2559 Largest Rectangle in a Histogram(单调栈)
  6. Android UI-开源框架ImageLoader的完美例子
  7. 在SQL中用正则表达式替换html标签
  8. (转)java 23种设计模式
  9. PHP设置http头信息
  10. SQL中两种表复制语句
  11. 基于HTML5快速搭建TP-LINK电信拓扑设备面板
  12. .NET 创建 classlib时,netcoreapp2.0与netstandard2.0的区别
  13. clearTimeout方法在IE上的兼容问题
  14. cf1136E. Nastya Hasn&#39;t Written a Legend(二分 线段树)
  15. 第八章 计时器(BEEPER1)
  16. Linux vfpd锁定用户目录
  17. TypeScript语言学习笔记(1)
  18. libgdx学习记录24——九宫格NinePatch
  19. filter中的DelegatingFilterProxy使用事例
  20. SQLite区分大小写查询

热门文章

  1. spring-oauth-server实践:OAuth2.0 通过header 传递 access_token 验证
  2. 使用Spring Initializr创建项目
  3. 详解Windows Server 2008 R2下安装Oracle 11g
  4. 关于阿里巴巴iconfont的使用方法
  5. asp.net(C#)实现功能强大的时间日期处理类完整实例
  6. python jquery
  7. 测试驱动开发实践5————testSave之修改文档分类
  8. ZOJ-1655 Transport Goods---dijkstra变形&amp;&amp;最长路
  9. Django REST framework+Vue 打造生鲜超市(五)
  10. jacascript 偏移量offset、客户区client