1. 程式人生 > >設定透明主題引起動畫失效以及開啟其他應用閃現桌面圖示的問題

設定透明主題引起動畫失效以及開啟其他應用閃現桌面圖示的問題

近日在適配魅族手機的時候,發現設定Activity的主題的

<item name="android:windowIsTranslucent">true</item>透明狀態,或者
<item name="android:windowShowWallpaper">true</item>顯示桌布之後,在該activity介面開啟其他應用的介面的時候,會閃現桌面圖示,從其他應用介面回來的時候也會閃現桌面圖示,而且activity設定的轉場動畫都失效了。詢問一下系統桌面的同事,原來是桌面自己有做動畫效果,當設定主題為透明的時候應該是觸發了桌面了一些轉場動畫,具體是怎麼觸發的尚不清楚。

像這樣從我的啟動設定介面,會出現桌面的轉場動畫,閃現桌面,正常情況下應該不會出現桌面圖示的。至少在華為的手機上不會出現這種現象。

那怎麼辦呢,本來我的應用的主介面就是需要跟桌面背景比較貼近,也就是說在桌面背景色的基礎上做一下高斯模糊,有人應該瞭解,做桌面全域性搜尋的時候,背景是要和桌面目前的桌布顏色比較貼合的。之前想要activity的背景透明就是想在啟動的時候不要顯示黑屏或者白屏。我們知道在預設的情況下,系統會當前的主題來為activity真正啟動前做一個預覽色,接下來才是真正的activity的檢視設定的背景顏色或者圖片。

我們知道在activity的主題中還有這麼一項:

<item name="android:windowBackground">@color/transparent</item>設定背景透明,以前覺得設定這一項就能避免啟動時候白屏或者黑屏,結果卻還是會存在白屏黑屏現象。不知道是不是各家手機系統有各自的不同處理。

後來發現還有這麼一個屬性

<item name="android:windowDisablePreview">true</item> ,添加了之後就沒有黑屏或者白屏現象了。

也就是這兩個組合起來,既能使啟動時候背景透明,然後又能去掉黑屏白屏現象,而且這種做法在魅族手機上還不會影響轉場動畫。

相關推薦

設定透明主題引起動畫失效以及開啟其他應用閃現桌面圖示的問題

近日在適配魅族手機的時候,發現設定Activity的主題的 <item name="android:windowIsTranslucent">true</item>透明狀態,或者 <item name="android:windowShowW

activity透明主題引起生命週期的變化

以前開發時,一直沒有留意activity如果主題背景透明,對生命週期有什麼影響呢? 測試方式:編寫demo 配置檔案(AndroidManifest)中 <?xml version="1.0" encoding="utf-8"?> <

使用SwipeBackLayout設定windowIsTranslucent導致Activity動畫失效

最近使用SwipeBackLayout做滑動返回,遇到了不大不小的問題就是Activity的啟動方向都是從底部彈出本來感覺很好看,但是也很好奇怎麼突然啟動方向從底部彈出了呢。 做了一下測試<item name="android:windowIsTrans

註冊URL Scheme步驟以及開啟其他App

一 註冊 URL Scheme 1.設定URL Scheme 在safari位址列中輸入:URL Schemes://identifier (例如:iOSEnterURL://com.Demo

Android中開啟其他應用程式的元件

     componentName=new ComponentName("com.liu.testdemo",            "com.liu.testdemo.Receiver.TextBroadcastReceiver");

開啟appstore應用開啟appstore評論、開啟其他應用

廢話少說,直接上程式碼: 開啟 appstore 應用介面: NSString *appid = @"1234567"; NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.ap

IntelliJ IDEA 如何設定黑色主題以及Java字型的大小與顏色

1.設定黑色主題 File -- Settings -- Appearance&Behavior -- Appearance 面板 -- Theme ,選擇Darcula 2.設定程式碼編輯框的字型大小 File -- Settings -- Editor -- Fon

VS 2015 設定透明主題

先來一張效果圖,是我最喜歡的之琳哈。 首先點工具>>拓展和更新 點聯機,右上角搜尋MoeIDE和 Visual Studio 2015 Color Theme Editor 下載安裝 安裝完重啟一下,重啟之後會彈出一個介面點 Import the

RGB簡述以及Android中設定透明、半透明等效果

一、RGB   簡單說說RGB,RGB由Red、Green、Blue三種成分色組成,每種顏色由2位16進位制數表示。   如:紅色 FF0000 表示紅全有(最滿),綠沒有,藍沒有       綠色

activity設定透明並取消跳轉動畫

最近使用activity跳轉取消跳轉動畫,並設定為半透明,使其產生如popupwindow的效果。在這做個記錄程式碼如下: 主activity比較簡單。 package com.huayi.listview; import android.app.Activity;

css3動畫簡介以及動畫庫animate.css的使用

谷歌瀏覽器 ie瀏覽器 transition 工程師 火狐瀏覽器 在這個年代,你要是不懂一點點css3的知識,你都不好意思說你是個美工。美你妹啊,請叫我前端工程師好不好。呃。。好吧,攻城屍。。。呵呵,作為一個攻城屍,沒有點高端大氣上檔次的東西怎麽能行呢,那麽css3的動畫就絕

Linux 關於安裝rabbitmq以及開啟遠端訪問許可權步驟

時光飛逝,距離上次寫部落格居然已經兩個月之久,近期因為專案進度緊,而一直沒有抽出時間來進行總結,本人會在近期將專案中所涉及到的技術以及一些操作進行總結並更新到部落格中,今天我們就來聊聊linux下安裝rabbitmq的安裝步驟。 本篇部落格主要以安裝步驟為主,所以並不會涉及到太

SpringBoot+Shiro引起事務失效、錯誤原因、解決方法

一、問題今天發現使用者註冊的Service的事務並沒有起到作用,再丟擲一個RuntimeException後,並沒有發生回滾,下面是除錯步驟: 1、檢查資料庫的引擎是否是innoDB 2、啟動類上是否加入@EnableTransactionManagement註解 3、是否在方法上加入@Transact

建立表空間時出現錯誤:ORA-27040以及開啟監聽服務時提示網路協議介面卡錯誤。

今天做oracle資料庫建立表空間的操作,一直提示ORA-27040,OSD -04002,O/s-Error(os 3)錯誤。 檢查了建立的語句是沒有問題的,刪除重建發現建立過程也是正確了,管理員方式執行SQLplus也不行,最後經過查詢和驗證才發現是我電腦許可權的問題(用的管理員許可

安卓專案實戰之設定Activity跳轉動畫的5種實現方式

前言 在介紹activity的切換動畫之前我們先來說明一下實現切換activity的兩種方式: 1,呼叫startActivity方法啟動一個新的Activity並跳轉其頁面 2,呼叫finish方法銷燬當前的Activity返回上一個Activity介面 當呼叫startActiv

Matlab中設定橫縱軸、圖例以及更改橫縱軸字型大小

在論文中插圖,有時候要縮的很小,導致看不清楚,所以需要將影象的字型變大,下面給出matlab的具體程式碼操作。 當然在matlab中也可以通過圖形屬性直接更改影象的屬性,問題是這樣修改效率很低,而且下次重新執行生成影象的時候,上次的設定又沒有了,故用程式碼的方法解決較好。 下面給出簡答的正餘

Android - 動畫(幀動畫,補間動畫,屬性動畫以及插值器)

一: 動畫的分類 幀動畫 補間動畫 屬性動畫 二:解析 1. 幀動畫 (1)定義 這些圖片是將一些列的drawable組合在一起,進行連續的播放, 類似於以前電影源用膠捲進行動畫播放 (2)有圖有真相 (3)準備圖片 看著是不是還行,哈哈,

Qt for ios / Qt for Android 設定透明狀態列

前言 所謂的透明狀態列,有些人也稱之為沉浸式標題欄,就是要讓系統的通知欄也顯示出來,這樣整體看上起會非常美觀,目前用到的所有軟體幾乎都是這種風格,如果是用原生開發的話其實是非常容易的,但是如果是跨平臺開發,比如 Qt 來開發 android 或者 ios,那就有點難搞了,Qt 並沒有

yii模型規則的簡單使用以及開啟前端的驗證(七)

之前部落格裡有過一次小物件的使用,不錯沒有結合model驗證,今天就結合model來做一下前臺表單的驗證吧,帶你先簡單的瞭解下model裡的一些方法,詳細的等我研究深了再來寫過來哈。 1.首先,model的生成的話 ,使用 gii生成就可以了,至於gii的使用,在之前已經提過了,可以往前翻一下,輸入表名作為

設定DatePickerDialog主題顏色及起始日期

一、設定DatePickerDialog主題顏色 如圖: 程式碼: findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override