網(wǎng)站首頁 編程語言 正文
前言
app啟動后的白屏問題,默認(rèn)都是在splash頁面加主題配置,主題配置一個背景來達(dá)到用戶點擊app圖標(biāo)就立馬啟動app的假象,大多情況下,使用背景單一的圖片作為啟動圖,我們在設(shè)置背景顏色,就能適配的很不錯了(背景顏色+logo圖片的模式)。但是當(dāng)啟動圖不再單一,而且復(fù)雜的圖形時候,適配就成大問題了,下面介紹我的方法:
1、設(shè)置splash主題
<style name="MySplashTheme" parent="@android:style/Theme.Holo.NoActionBar"> <item name="android:windowBackground">@drawable/splah_bg</item> <item name="android:windowFullscreen">true</item> <item name="android:windowBackground">@color/white</item> <item name="android:windowDrawsSystemBarBackgrounds">false</item> </style>
2、 splash_bg 設(shè)置:
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/wecome4" android:dither="true" android:filter="true" android:antialias="true" android:gravity="fill"> </bitmap>
這里面的gravity = fill是設(shè)置圖片拉伸的(可以用.9圖片)
3、splash布局文件設(shè)置:
<ImageView android:id="@+id/iv_bg" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:background="@drawable/splah_bg" />
注意這里的圖片設(shè)置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用圖片,不然主題到splash布局切換的時候,圖片會閃動。
注意這里的圖片設(shè)置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用圖片,不然主題到splash布局切換的時候,圖片會閃動。
注意這里的圖片設(shè)置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用圖片,不然主題到splash布局切換的時候,圖片會閃動。
上面說的是不能設(shè)置背景顏色的,如果啟動圖背景是純色的,比如天貓那種,就一白色加一個logo,那種主題設(shè)置就不一樣了,請用下面這種模式
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <solid android:color="#FFFFFF" /> </shape> </item> <item > <bitmap android:gravity="fill" android:src="@drawable/wecome4" android:dither="true" android:filter="true" android:antialias="true" /> </item> </layer-list>
附問題:項目啟動時,會有白屏現(xiàn)象(在點擊 應(yīng)用圖標(biāo)到看到啟動頁之間)。
處理辦法:
一:我們盡量減少的Application類里面的耗時操作
二:設(shè)置項目啟動頁的style類型為透明的
處理之后的現(xiàn)象:看不到白屏,但是點擊應(yīng)用圖標(biāo)之后,會靜止一段時間(沒有任何反應(yīng)),過一會兒,才會顯示啟動頁
三:設(shè)置項目啟動頁的style類型為指定圖片A(在SplashActivity里面 ,就不用設(shè)置setcontentView()了)
處理之后的現(xiàn)象:看不到白屏,但是點擊應(yīng)用圖標(biāo)之后,會顯示剛剛設(shè)置的style的圖片,過一會兒,才會顯示啟動頁
這種做法遇到的問題:
如果 這個圖片A的尺寸較小,那么的大尺寸的手機(jī)上,啟動頁會看到圖片A的周邊是有空白了。
這個問題處理辦法:
1.如果 這個圖片A的背景 有著明顯的規(guī)律(這個比較巧合,很難遇到),比如:從上到下有漸變時,可以使用layer-list里的shape的gradient
2.在UI設(shè)計圖片A的時候,將這個圖片A的重要信息(應(yīng)用的名稱,icon等等)之外的其他背景 用透明表示,這樣就可以使用layer-list里的shape了,將這個圖片A的其它地方用shape的顏色來填充了,就不會看到周邊空白的現(xiàn)象了。
四:設(shè)置項目啟動頁,在SplashActivity里面 ,用setcontentView(),設(shè)置xml布局里面的ImageView的scaleType為能自動填充滿界面布局的類型:centerCrop(注意:這個類型會自動剪切掉圖片A的周圍,注意:的重要信息不要顯示在圖片的周邊,盡量顯示在圖片的中間)
總結(jié)
原文鏈接:https://blog.csdn.net/plx_csdn/article/details/122284665
相關(guān)推薦
- 2022-10-14 VSC下編寫Makefile文件時,在終端運(yùn)行make clean命令時報錯的解決方法
- 2022-08-30 Kotlin object的用法和內(nèi)存泄漏研究
- 2022-05-04 EF使用數(shù)據(jù)注解特性創(chuàng)建表結(jié)構(gòu)_實用技巧
- 2022-04-25 JQuery實現(xiàn)Table的tr上移下移功能_jquery
- 2022-08-11 C++超詳細(xì)講解強(qiáng)制類型轉(zhuǎn)換的用法_C 語言
- 2023-03-29 Label?Propagation算法原理示例解析_python
- 2023-04-08 Linux下動靜態(tài)庫的打包與使用指南(C/C++)_C 語言
- 2022-10-01 C語言實現(xiàn)學(xué)生個人消費(fèi)管理系統(tǒng)_C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支