導航:首頁 > 操作系統 > android半透明提示

android半透明提示

發布時間:2024-09-25 08:13:53

android導航欄與狀態欄顏色及透明度

首先創建一個空項目,如下圖

可以看到狀態欄是白字黑背景, 導航欄也是白圖標黑背景
嘿嘿, 我們先把狀態欄隱藏掉,在添加一個ImageView, 讓ImageView做背景(方便查看)

樣子如下:

將狀態欄和導航欄設置透明, 找到 Manifest.xml 文件, 在主題樣式中修改

android:statusBarColor 設置狀態欄背景色
android:navigationBarColor 同上
android:windowLightStatusBar 設置狀態欄文字色, true為深色, false為白色
android:windowLightNavigationBar 同上
android:windowTranslucentStatus 設置狀態欄半透明狀態, true為半透明, false為不透明
android:windowTranslucentNavigation 同上

最後兩個半透明狀態下面沒用, 可自己嘗試看效果

效果圖如下:

可以看到導航欄與狀態欄並沒有透明,原因是默認不能佔用狀態欄空間與導航欄空間,根布局背景為白色,所有這里顯示白色
可以通過設置 getWindow().getDecorView().setSystemUiVisibility() 來適配

View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 適配狀態欄空間
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 適配導航欄空間
效果如下:

② Android 沉浸式/透明式狀態欄、導航欄

Android 從4.4開始引進透明狀態欄和導航欄的概念,並且在5.0進行了改進,將透明變成了半透明的效果。雖然此特性最早出現在ios,但不否認效果還是很贊的。
至於4.4以下的手機,就不要考慮此特性了,好在4.4以下的手機份額已經非常小了。

我們先來看一下透明狀態欄的實現,兩種常見效果圖如下:

虛擬導航欄並不是所有的手機都有,華為的手機多比較常見,就是上圖屏幕底部按鈕那塊區域。設置導航欄和狀態欄類似:

這是官方的解釋,大致意思就是我們在布局的最外層設置 android:fitsSystemWindows="true",會在屏幕最上方預留出狀態欄高度的padding。

由於fitsSystemWindows屬性本質上是給當前控制項設置了一個padding,所以我們設置到根布局的話,會導致狀態欄是透明的,並且和窗口背景一樣。

但是多數情況,我們並不在根布局設置這個屬性,我們想要的無外乎是讓內容沉浸在狀態欄之中。所以我們經常設置在最上端的圖片背景、Banner之類的,如果是Toolbar的,我們可以使用一層LinearLayout包裹,並把這個屬性設置給LinearLayout,這樣就可以避免Toolbar的內容下沉了。如:

上述方法可以解決普通頁面的透明式狀態欄需求,如有復雜需求可以參考下面這些:
Android 系統狀態欄沉浸式/透明化完整解決方案
Android 沉浸式狀態欄的實現
Android沉浸式狀態欄(透明狀態欄)最佳實現
還有開源庫推薦: ImmersionBar

③ Android系統自帶樣式Theme總結

本文從網上復制,給自己做筆記的,摘自: http://blog.csdn.net/hongya1109110121/article/details/11985545

Android系統自帶樣式(@android:style/) (轉)

1 android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"

布局頁面最上面 不會顯示  android:icon="@drawable/ic_launcher"中的值和android:label="@string/app_name"的值。

2 android:theme="@style/AppTheme"

布局頁面最上面 顯示  android:icon="@drawable/ic_launcher"中的值和android:label="@string/app_name"的值。

其他

在AndroidManifest.xml文件的activity中配置

1、android:theme="@android:style/Theme"

默認狀態,即如果theme這里不填任何屬性的時候,默認為Theme

2、android:theme="@android:style/Theme.NoDisplay"

任何都不顯示。比較適用於只是運行了activity,但未顯示任何東西

3、android:theme="@android:style/Theme.NoTitleBar「

背景主題的沒有標題欄的樣式,默認如果沒有設置的話,顯示黑背景

4、android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

背景主題的沒有標題欄且全屏的樣式,默認為黑背景

5、android:theme="@android:style/Theme.Black"

默認狀態下黑背景

6、android:theme="@android:style/Theme.Black.NoTitleBar"

黑背景主題的沒有標題欄的樣式

7、android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

黑背景主題的沒有標題欄且全屏的樣式

8、android:theme="@android:style/Theme.Light"

默認狀態下亮背景,與上述黑背景Theme.Black相反

9、android:theme="@android:style/Theme.Light.NoTitleBar"

亮背景主題的沒有標題欄的樣式,與Theme.Black.NoTitleBar相反

10、android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"

亮背景主題的沒有標題欄且全屏顯示的樣式,與Theme.Black.NoTitleBa.Fullscreenr相反

11、android:theme="@android:style/Theme.Dialog"

對話框樣式 將整個activity變成對話框樣式出現

12、android:theme="@android:style/Theme.InputMethod"

Window animations that are applied to input method overlay windows

13、android:theme="@android:style/ Theme.Panel"

刪除掉所有多餘的窗口裝飾,在一個空的矩形框中填充內容,作用范圍相當於把dialog中的所有元素全部去掉,只是一個空的矩形框,且此為默認的樣式

14、android:theme="@android:style/ Theme.Light.Panel"

刪除掉所有多餘的窗口裝飾,在一個空的矩形框中填充內容,作用范圍相當於把dialog中的所有元素全部去掉,只是一個空的矩形框,且默認是light的樣式

15、android:theme="@android:style/Theme.Wallpaper"

使用牆紙做主題,默認狀態。

16、android:theme="@android:style/ Theme.WallpaperSettings"

使用牆紙做主題,默認是使用將上一個界面調暗之後作為主題

17、android:theme="@android:style/ Theme.Light.WallpaperSettings"

使用牆紙做主題,默認Light狀態

18、android:theme="@android:style/Theme.Wallpaper.NoTitleBar"

使用牆紙做主題,且沒有標題欄

19、android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"

使用牆紙做主題,且沒有標題欄,且全屏顯示

20、android:theme="@android:style/Theme.Translucent"

半透明狀態下的背景,將運行此activity之前的屏幕作為半透明狀態作為此activity運行時的樣式。

21、android:theme="@android:style/Theme.Translucent.NoTitleBar"

半透明狀態下沒有標題欄的背景,將運行此activity之前的屏幕作為半透明狀態作為此activity運行時的樣式。

22、android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"

半透明狀態下沒有標題欄且全屏的背景,將運行此activity之前的屏幕作為半透明狀態作為此activity運行時的樣式。

摘自: http://blog.csdn.net/hongya1109110121/article/details/11985545

④ android 怎麼給一塊區域設置背景半透明

activity的背景透明,只需在只要在配置文件內activity屬性配置內加上android:theme="@android:style/Theme.Translucent"就好了。
但是想要多方面的設置theme的話,就要在values里設置風格先:
加透明:
先在res/values下建colors.xml文件,寫入:
<?xmlversionxmlversion="1.0"encoding="UTF-8"?>
<resources>
<colornamecolorname="transparent">#9000</color><!--透明度-->
</resources>
這個值設定了整個界面的透明度,為了看得見效果,現在設為透明度為56%(9/16)左右。
透明度可以用#9000值調,將這個值(ARGB)改變,就會有不同效果的透明度。
再在res/values/下建styles.xml,設置程序的風格
<?xmlversionxmlversion="1.0"encoding="utf-8"?>
<resources>
<stylenamestylename="Transparent">
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
</style>
</resources>
加了@+android:style/Animation.Translucent這句的時候就會顯示出此activity會有動畫切換效果
最後一步,把這個styles.xml用在相應的Activity上。即在AndroidManifest.xml中的任意標簽中添加 android:theme="@style/transparent"
如果要設置所有的activity都使用這個風格,就把這句標簽語句添加在中。

⑤ 如何設置Android中控制項的顏色透明度

Android中設置ImageView控制項的圖片的透明度應該調用View的api,以下為示例: 1、用android系統的透明效果 Java代碼 android:background="@android:color/transparent" 例如 設置按鈕 Java代碼 <Button android:background="@android:color/transparent" android:text="@+id/Button01" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff" /> 2、用ARGB來控制 Java代碼 半透明<Button android:background="#e0000000" /> 透明<Button android:background="#00000000" /> 3、設置alpha Java代碼 View v = findViewById(R.id.content); v.getBackground().setAlpha(100); 說明: 0~255透明度值,0表示完全不透明,255表示完全透明。

⑥ 如何讓android 的activity變成完全透明的

將activity變為半透明的對話框可以從兩個方面來考慮:對話框和半透明。 1、在定義Activity時指定Theme.Dialog主題就可以將Activity設置為對話框風格。 2、通過修改Theme.Dialog主題的android:windowBackground屬性值可以改變Activity的背景圖像。如果背景圖像使用半透明的圖像,則Activity就好變成半透明的對話框。為了修改android:windowBackground屬性,可以定義一個新的主題,該主體繼承自Theme.Dialog,代碼如下: (1)在res/values下創建兩個xml文件,一個為主題風格資源dialog_styles.xml, 一個為顏色資源dialog_colors.xml。 dialog_styles.xml,主題風格名為 dialog_translucent dialog_colors.xml 2()在AndroidManifest.xml為Activity指定自定義的主題, android:theme="@style/dialog_translucent" 代碼如下:

閱讀全文

與android半透明提示相關的資料

熱點內容
阿里巴巴app靜態編譯 瀏覽:723
命令世界怎麼獲得迷你幣 瀏覽:649
應用加密重新安裝 瀏覽:83
抖音抖幣充值源碼 瀏覽:733
我的世界如何去更新伺服器 瀏覽:73
單片機視頻模塊 瀏覽:996
程序員的圖中的亮點在哪裡 瀏覽:657
蘋果手機伺服器地址是什麼意思 瀏覽:461
雲伺服器裡面怎麼升級d盤 瀏覽:546
java文件存入資料庫 瀏覽:89
雷特字幕出現未發現加密鎖 瀏覽:768
java線程監視 瀏覽:947
無聊的程序員日常 瀏覽:803
雲伺服器ecs項目 瀏覽:23
健康證伺服器地址是什麼意思 瀏覽:196
惠普筆記本提取壓縮軟體 瀏覽:773
市政管網水準點加密 瀏覽:951
安卓底部三鍵怎麼關閉 瀏覽:649
php高效分頁 瀏覽:15
輕閱讀的伺服器的地址是什麼 瀏覽:957