设为首页 收藏本站 662p开源网
开启辅助访问 切换到宽版

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

切换风格 立即注册 找回密码

安卓教程网

发表于 2018-4-27 15:39:24 | 显示全部楼层 |阅读模式
更多
再打开手机app的时候,最先映入我们眼帘的是一个覆盖手机全屏的欢迎界面,在这个界面显示出来的时候整个手机屏幕只会显示这一个界面,上面的标题栏,以及手机最顶端的状态栏都会消失,只有欢迎页面结束跳转到其他页面时,标题栏和状态栏才回又显示出来。 现在我们就来制作一下欢迎界面。欢迎界面的设置
首先,我们需要先创建一个Activity来承载这样一个。首先找到res文件夹下的Layout文件夹,创建一个Activity用于承载欢迎界面,也可以直接利用已经创建好的MainActivity,在使用其他的Activity时,要把默认的访问界面,需要在androidManifest.xml文件里,把默认MainActivity改为欢迎界面的Activity。在Activity中可以设置为页面的背景图片,同样可以添加一个imageView控件来进行显示图片,把背景图片统一放到mipMap文件夹中。
  1. android:background="@mipmap/welcome"  

  2. //或者
  3.     <ImageView
  4.         android:id="@+id/iv_man"
  5.         android:layout_width="67dp"
  6.         android:layout_height="202dp"
  7.         android:layout_alignParentBottom="true"
  8.         android:layout_centerHorizontal="true"
  9.         android:layout_marginBottom="10dp"
  10.         android:background="@drawable/intro_item_manrun_1"
  11.         android:visibility="visible" />
复制代码



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

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



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

  1. // 手动在oncreate里调用hide()
  2. if (getSupportActionBar() != null){
  3.    getSupportActionBar().hide();
  4. }

  5. // 第二种最简单 直接用supportrequestwindowFeature好了:
  6. supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

  7. // 第三种 直接修改style 缺点直接全局了(注意继承)
  8. <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  9.         <!-- Customize your theme here. -->
  10.         <item name="colorPrimary">@color/colorPrimary</item>
  11.         <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
  12.         <item name="colorAccent">@color/colorAccent</item>
  13.         <item name="android:windowActionBar">false</item>
  14.         <item name="android:windowNoTitle">true</item>
  15.     </style>
复制代码
状态栏设置透明
  1. if (Build.VERSION.SDK_INT >= 21) {
  2.             View decorView = getWindow().getDecorView();
  3.             decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
  4.             getWindow().setStatusBarColor(Color.TRANSPARENT);
  5.         }
复制代码




发表于 2018-4-27 15:40:15 | 显示全部楼层
为了三千积分!

新浪微博达人勋

注册会员

75

积分

25

威望

0

金钱

Rank: 2

积分
75
发表于 2018-5-4 04:08:14 | 显示全部楼层
鄙视楼下的顶帖没我快,哈哈

新浪微博达人勋

注册会员

55

积分

17

威望

2

金钱

Rank: 2

积分
55
发表于 2018-5-14 12:59:10 | 显示全部楼层
纯粹路过,没任何兴趣,仅仅是看在老用户份上回复一下
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Archiver|手机版|小黑屋|安卓教程网 ( 粤ICP备12089784号  

GMT+8, 2018-5-22 13:49 , Processed in 0.537118 second(s), 49 queries .

Powered by Discuz X3.1

© 2001-2013 IOS教程网

快速回复 返回顶部 返回列表