1. 如何將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
2. 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);
3. Android中,activity生命周期是指什麼
一個Android應用程序在運行時,對於底層的Linux Kernel而言都是一個單獨的進程,但是對於Android系統而言,因為局限於手機畫面的大小與使用的考慮,不能把每一個運行中的應用程序窗口都顯示出來。
所以通常手機系統的界面一次僅顯示一個應用程序窗口,Android使用了Activity的概念來表示界面。
運行中的應用程序分為五大類,分別是:
前景模式:foreground process
可見模式:visible process
背景模式:background process
空白模式:empty process
服務模式:service process
除了最後一個,貌似service process是Service的事情了。其他都與Activity相關。
Android系統會判斷應用程序Activity是屬於哪一個類,給予不同的Activity生命周期。
Activity的生命周期也是它所在進程的生命周期。
Activity生命周期的運行如圖:
Activity生命周期的每一個階段都表示為金字塔上的一個台階,當系統創建一個新的activity時,每一個回調函數都把activity的狀態網上挪一步。
金子塔的最頂層就是activity運行在前景模式下,用戶可與之交互。
當用戶離開activity時,系統調用另一些回調函數,將activity的狀態從金字塔中一步一步移下來。有些情況下,activity只移動一部分,並沒有完全到底,這些情況下仍然可以移動回頂部。
注意這些狀態中只有三個狀態是靜態(static)的,意味著activity只有在這三個狀態下能停留一段時間:
Resumed:foreground,用戶可交互running state
Paused:部分被遮擋,不能接收用戶輸入也不能執行代碼,另一個半透明或者小的activity正擋在前面。
Stopped:activity完全被遮擋,不能被用戶看到,activity被認為在background,當Stopped的時候,activity實例的狀態信息被保留,但是不能執行任何代碼。
其他狀態都是轉換狀態,系統會很快調用其他相應的回調函數離開這些狀態。比如系統調用onCreate()之後,會很快調用onStart(),之後是onResume()。
相信不少朋友也已經看了以上的分析之後,也基本了解了Activity生命周期的幾個過程,我們就來說一說這幾個過程。
1.啟動Activity:系統會先調用onCreate方法,然後調用onStart方法,最後調用onResume,Activity進入運行狀態。
2.當前Activity被其他Activity覆蓋其上或被鎖屏:系統會調用onPause方法,暫停當前Activity的執行。
3.當前Activity由被覆蓋狀態回到前台或解鎖屏:系統會調用onResume方法,再次進入運行狀態。
4.當前Activity轉到新的Activity界面或按Home鍵回到主屏,自身退居後台:系統會先調用onPause方法,然後調用onStop方法,進入停滯狀態。
5.用戶後退回到此Activity:系統會先調用onRestart方法,然後調用onStart方法,最後調用onResume方法,再次進入運行狀態。
6.當前Activity處於被覆蓋狀態或者後台不可見狀態,即第2步和第4步,系統內存不足,殺死當前Activity,而後用戶退回當前Activity:再次調用onCreate方法、onStart方法、onResume方法,進入運行狀態。
7.用戶退出當前Activity:系統先調用onPause方法,然後調用onStop方法,最後調用onDestory方法,結束當前Activity。
有關於Activity的生命周期是Android中最基礎和最重要的知識,如果你想系統的了解一下Activity的生命周期,推薦你可以去一個叫做秒秒學的教程網站上看看。
4. android studio activity怎麼設置透明背景
可以參考一下下面的案例
例子:
解決辦法:
添加以下風格在你res/values/styles.xml文件(如果你沒有一個,創建它)。 這是一個完整的文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>
(價值@color/transparent的顏色值#00000000我把res/values/color.xml文件。 後來版本的Android定義一個透明色,所以您可以使用與版本@android:color/transparent直接在風格和跳躍的顏色。 xml(注意額外的一步android:在定義))
然後將樣式應用於你的活動,例如:
<activity android:name=".SampleActivity" android:theme="@style/Theme.Transparent">
...
</activity>
5. Android 某activity設置沉浸式狀態欄和透明主題後
您哪裡寫的有問題,透明欄顧名思義,先透明,在取其他顏色。網頁鏈接
就算閃屏也不會閃黑
6. 如何讓Activity透明
在res/values文件夾下建立styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="translucent">
<item name="android:windowBackground">@color/translucent_background</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
</style>
</resources>
在該文件夾下在創建文件colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="translucent_background">#60000000</color>
</resources>注意:color.xml的#60000000前兩位是透明的效果參數從00--99(透明--不怎麼透明),後6位是顏色的設置有了這些設置,就得告訴Activity用這些設置.
用法一:AndroidManifest.xml中找到要設置的activity,加入theme:
android:theme="@style/translucent"用法二:在java代碼中設置
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.translucent);
setContentView(R.layout.main);
}哎,不錯,確實透明了.但是問題又來了,layout里的button不透明啊.如果能讓他們也透明或者半透明呢?那得設置窗口屬性.
Window window=getWindow();
WindowManager.LayoutParams wl = window.getAttributes();
wl.flags=WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
wl.alpha=0.6f;//這句就是設置窗口裡控制項的透明度的.0.0全透明.1.0不透明.
window.setAttributes(wl);
恩,這樣效果就出來了.
7. 安卓AppCompatActivity 怎麼設置透明
在AppCompatActivity使用的主題里,增加一行配置:
<item name="android:windowIsTranslucent">true</item>
或者<item name="android:windowBackground">@android:color/transparent</item>
8. 怎麼讓activity透明到桌面
一個完全透明的Activity有很多用處,比如在應用啟動的時候,可以用它處理根據用戶是否登錄的狀態來跳轉相應界面的情況,實際上微信啟動的時候就是做了這種效果、或者在Server檢測版本更新的時候彈出它來顯示對話框,也可以變出很多花樣來巧妙的解決不同的需求,而要實現這樣的一個Activity是非常的簡單的,我們只需要一個樣式就能完美解決:
在theme.xml中添加:
<style name="TranslucentTheme">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
在AndroidManifest.xml中給你的Activity設置一下theme:
<activity
android:name=".YourActivity"
android:theme="@style/TranslucentTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
9. android activity 半透明效果 能不能彈出toast
可以的,toast是單例的,主要是需要一個有效的context參數