设置启动图片或者设置透明
在查询发现很多android studio打包app后启动APP都有短暂黑屏或者白屏的问题,很多解决的办法后都是通过添加一张启动或者把背景设置为透明。所以就按照这两种方式去结合egret发布app项目文件解决。
目录结构:
在drawable目录下新建一个根节点为layer-list的xml文件,如launch.xml.loadinggb为背景图片(也在drawable目录里)
1 2 3 4 5 6 7 8 9 10 11 12
| <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/white"></item>
<item> <bitmap android:gravity="center" android:src="@drawable/loadinggb" android:tileMode="disabled" /> </item> </layer-list>
|
设置colors.xml
1 2 3 4 5 6 7 8
| <?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F9F</color> <color name="colorAccent">#FF4081</color> <color name="black">#00000000</color> <color name="white">#FFFFFFFF</color> </resources>
|
在values目录创建style.xml来配置下面两种启动效果的方式
设置启动图片Theme:
1 2 3 4 5 6 7 8 9
| <?xml version="1.0" encoding="utf-8"?> <resources> <style name="welcome" parent="@android:style/Theme.NoTitleBar.Fullscreen"> <item name="android:windowFullscreen">true</item> <item name="android:windowBackground">@drawable/launch</item> </style> </resources>
|
设置背景透明Theme:
1 2 3 4 5 6 7 8 9
| <?xml version="1.0" encoding="utf-8"?> <resources> <style name="welcome" parent="@android:style/Theme.NoTitleBar.Fullscreen"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> </style> </resources>
|
在egret发布的android项目中AndroidManifest.xml设置是直接设置为全屏的只是直接用
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
,
这里我们需要替换成
android:theme="@style/welcome"
引入style.xml去引用我们修改的启动样式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jhyb">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<application android:allowBackup="true" android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/welcome" >
<meta-data android:name="android.max_aspect" android:value="2.3" />
<activity android:name=".MainActivity" android:launchMode="singleTask" android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan|stateAlwaysVisible" android:configChanges="orientation|keyboardHidden|screenSize|screenLayout" android:theme="@style/welcome"> <intent-filter> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
</manifest>
|
说明
在egret打包成app在启动是会有短暂的黑屏,在官方文档也有设置游戏背景透明的方式(或许跟这个也没关系),但是只能官方文档只能找到这个
有没有效果我也不知道;因为我不知道怎么设置