android界面透明
❶ 怎樣將android控制項背景設置成透明
1、打開安卓的配置文件。
2、只需要在配置文件中把需要設置為透明的activity的樣式設置為android:theme="@android:style/Theme.Translucent"
3、這樣就可以把背景設置為透明。
❷ 關於 Android 中的各種 Bar 和「透明狀態欄」的一些知識
本文主要講解關於Android中沉浸式狀態欄、全屏模式與狀態欄、ActionBar、ToolBar之間的區別與使用方法,旨在幫助讀者理解如何適配Android狀態欄。
請注意,狀態欄與這些所謂的「Bar」在概念上完全不同。狀態欄,即status bar,是Android設備頂部顯示時間、通知等信息的區域。在Android設計中,早期注重功能性,TitleBar(標題欄)僅僅用於顯示頁面標題。隨著Android 3.0的發布,引入了注重美感的Holo樣式,此時TitleBar被ActionBar取代,功能擴展至更多方面。
在Android 3.0之前,TitleBar僅用於顯示頁面標題。而在Android 3.0之後的API 11版本,為了提升美觀性,引入了具有更多功能的ActionBar。簡而言之,ActionBar在本質上與TitleBar類似,它們均不是傳統的控制項形式,而是嵌套在DecorView中,可通過window.setFeatureInt方法進行功能和樣式的修改。
隨著Android 5.0的推出,ToolBar被引入,成為一個獨立控制項,為開發者提供了更多的靈活性。在Android 4.1及以上的版本中,ActionBar是標准配置,但其使用僅限於4.1以上。在Android 4.4之前,狀態欄始終為黑色,而從4.4開始,引入了windowTranslucentStatus特性,使狀態欄顏色可調,這種現象被國內開發者稱為「沉浸式狀態欄」,實際上這一說法並不準確。
所謂的「沉浸式狀態欄」實際上是狀態欄透明模式,即內容UI全屏,狀態欄透明。在Android 4.4中,通過windowTranslucentStatus可以將狀態欄顏色調整為其他顏色,以適應不同的應用需求。然而,在谷歌官方文檔中,並未提及「沉浸式狀態欄」這一概念,僅提及了全屏模式和狀態欄顏色調整。
在實現透明狀態欄模式時,可以採用以下步驟:首先設置內容布局全屏,使內容覆蓋頂部狀態欄;接著將狀態欄設為透明;最後,應用屬性以確保布局全屏顯示。需要注意的是,狀態欄顏色的修改在Android 5.0後支持,而在Android 4.4之前則不允許。
為了適應全屏模式,開發者應考慮使用頁面布局,並通過DecorView來獲取根布局,進而控制狀態欄顯示與布局的全屏擴展。在Android 6.0中,還支持修改狀態欄文字顏色。
通過本文內容,您將對Android中狀態欄、ActionBar、ToolBar的使用以及如何適配狀態欄有更深入的理解。如需進一步學習,可參考相關文章或訪問個人公眾號獲取更多資源。
❸ 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頁面如何把文本框背景做成透明的
還需要設置字體顏色,不然沒有了背景,字體和窗體背景都是黑色的什麼都看不到
<EditText android:text="EditText" android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
></EditText>
❺ 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怎麼將彈出窗口透明
1. 在res/values 下建立color.xml
<resources>
<color name="transparent_background">#80ffffff</color>
</resources>
PS: #80是透明度的值(即80%透明),ffffff是顏色值(為黑色)
2. 在res/values下建立style.xml
<resources> <style name="Transparent" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@color/transparent_background</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item> </style></resources>
PS: parent="android:style/Theme.Dialog" 是將activity設置為彈出式窗口
3. 在AndroidManifest.xml中找到要彈出的activity,加入theme:
<activity android:name="ActivityName" android:theme="@style/Transparent" />完成上面設置後,你的activity就已經是透明的了,但是該Activity中的控制項還沒有透明,如果還需要控制項透明,則需要在該activity的代碼中加入如下代碼:
//設置activity中的控制項透明 Window window = getWindow(); WindowManager.LayoutParams wl = window.getAttributes(); wl.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; wl.alpha=0.95f;//設置透明度,0.0為完全透明,1.0為完全不透明 window.setAttributes(wl);
❼ android 怎麼設置view 透明
在布局文件中設置屬性:android:background="#00FFFFFF";
00是表示透明度的,設置成00就是完全透明,FFFFFF是白色的十六位碼
❽ android 如何讓一個dialog的背景為透明
北京設置透明?你可以設置dialog的樣式,通過Style 來設置;
Android Dialog背景全透明無邊框 Theme Style
<style name="Translucent_NoTitle" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:background">#00000000</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
</style>