android设置启动splash图片(消除启动白屏)不使用Appcompat主题设置的方法

至于使用Appcompat包的情况下,看另外一篇文章。

http://blog.csdn.net/robert_cysy/article/details/72824513

设置方法:

一、设置AndroidManifest,配置application 主题,和Activity主题

<application
    android:name=".Application"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:screenOrientation="portrait"
    android:theme="@style/NoTitleFullscreen2">

    <activity
        android:name=".MainActivity"
        android:screenOrientation="portrait"
        android:launchMode="singleTask"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name"
        android:theme="@style/NoTitleFullscreen2">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
二、编辑使用到的主题:
路径为:res/values/styles.xml

其中bg_splash是一张全屏的启动图片,在这里设置的图片,在点击app图标的那一刻就会加载。因此去掉白屏或黑屏,原理:这个图片替换了相当于原来白屏或黑屏的位置

 <!--设置-全屏-->
    <style name="NoTitleFullscreen2" parent="android:Theme.DeviceDefault.Light">
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowBackground">@drawable/bg_splash</item>
    </style>
三、使用这些达到了全屏的效果,然后真的进入Activity的时候,需要关闭全屏,以显示状态栏,和软件内容,通过俩个函数实现
public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
  
        setWindowStatusBarColor(this , R.color.white);
        cancelFullScreen(this );
    }

    public static void cancelFullScreen(Activity activity) {
        activity.getWindow().clearFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }

    public static void setWindowStatusBarColor(Activity activity, int colorResId) {
        try {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                Window window = activity.getWindow();
                window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
                window.setStatusBarColor(activity.getResources().getColor(colorResId));

                //底部导航栏
                //window.setNavigationBarColor(activity.getResources().getColor(colorResId));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
设置Android启动页,首先需要在Android Studio中打开项目,并创建一个新的Activity用于作为启动页。以下是设置启动页的步骤: 1. 在Android Studio的“Project”视图中找到您的项目,然后右键单击“app”文件夹,选择“New” > “Activity” > “Empty Activity”来创建一个新的空白Activity。 2. 在弹出的对话框中,输入Activity的名称(例如,SplashActivity),然后点击“Finish”按钮。 3. 接下来,打开res文件夹,找到layout文件夹。在其中创建一个新的XML布局文件,用于设置启动页的界面。例如,命名为splash_layout.xml。在该布局文件中添加您想要显示的内容,如应用程序的名称、图像或其他欢迎信息。 4. 在新创建的Activity中,找到onCreate()方法,并添加以下代码来设置启动页的布局: ```java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash_layout); } ``` 5. 最后,需要在AndroidManifest.xml文件中将新创建的Activity设置启动页。找到`<application>`标签,在其中添加以下代码: ```xml <activity android:name=".SplashActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> ``` 完成以上步骤后,重新构建和运行您的应用程序,您将看到设置启动页在应用程序启动时显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值