• android 欢迎界面的制作


    再打开手机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);
            }
    
  • 相关阅读:
    Jenkins插件开发(一)--环境搭建
    Jenkins插件开发(二)-- HelloWorld
    Jenkins插件开发(三)-- 插件编写
    持续交付——发布可靠软件的系统方法
    python-字典练习
    python-编写认证登录
    nodejs pm2教程(转载)
    PM2实用入门指南
    删除Remote Desktop的连接历史记录
    Vue中如何使用axios发送jsonp跨域验证
  • 原文地址:https://www.cnblogs.com/wtyhome/p/8948272.html
Copyright © 2020-2023  润新知