activity的背景透明,只需在只要在配置文件內(nèi)activity屬性配置內(nèi)加上android:theme="@android:style/Theme.Translucent"就好了。

創(chuàng)新互聯(lián)是專業(yè)的雅安網(wǎng)站建設(shè)公司,雅安接單;提供成都做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行雅安網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
但是想要多方面的設(shè)置theme的話,就要在values里設(shè)置風(fēng)格先:
加透明:
先在res/values下建colors.xml文件,寫入:
?xmlversionxmlversion="1.0"encoding="UTF-8"?
resources
colornamecolorname="transparent"#9000/color!--透明度--
/resources
這個(gè)值設(shè)定了整個(gè)界面的透明度,為了看得見效果,現(xiàn)在設(shè)為透明度為56%(9/16)左右。
透明度可以用#9000值調(diào),將這個(gè)值(ARGB)改變,就會(huì)有不同效果的透明度。
再在res/values/下建styles.xml,設(shè)置程序的風(fēng)格
?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這句的時(shí)候就會(huì)顯示出此activity會(huì)有動(dòng)畫切換效果
最后一步,把這個(gè)styles.xml用在相應(yīng)的Activity上。即在AndroidManifest.xml中的任意標(biāo)簽中添加 android:theme="@style/transparent"
如果要設(shè)置所有的activity都使用這個(gè)風(fēng)格,就把這句標(biāo)簽語句添加在中。
在main.xml里面加入如下代碼,就可以Android中按鈕如何設(shè)置透明或半透明;
Button
android:text="@+id/Button01"
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
/
設(shè)置透明效果 大概有三種
1、用android系統(tǒng)的透明效果
Java代碼
android:background="@android:color/transparent"
例如 設(shè)置按鈕
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、設(shè)置alpha
Java代碼
View v = findViewById(R.id.content);//找到你要設(shè)透明背景的layout 的id
v.getBackground().setAlpha(100);//0~255透明度值
View v = findViewById(R.id.content);//找到你要設(shè)透明背景的layout 的id
v.getBackground().setAlpha(100);//0~255透明度值
或者
android:background="#e0000000"
前言:最近項(xiàng)目大量用到狀態(tài)欄透明,網(wǎng)上也出現(xiàn)很多庫可以直接拿來用,個(gè)人認(rèn)為沒有必要那么重引用到一個(gè)庫(有木有同學(xué)和我有一樣的想法),所以研究了一番,在此做個(gè)記錄加強(qiáng)記憶也便后期查閱,如果無意中有幸能幫助到你那就再好不過了。
Android 從 4.4 (SDK 19) 開始支持 系統(tǒng)欄(狀態(tài)欄+導(dǎo)航欄)半透明 效果:
翻譯一下就是:
TranslucentDecor 主題設(shè)置了兩個(gè)屬性 windowTranslucentStatus 和 windowTranslucentNavigation 都為 true,前者指定狀態(tài)欄半透明、后者指定導(dǎo)航欄半透明。
本文只探討“狀態(tài)欄” 。
默認(rèn)樣式是這樣:
可見 Toolbar 和系統(tǒng)狀態(tài)欄之間有明顯的分界,我們要實(shí)現(xiàn)的效果是 Toolbar 和狀態(tài)欄背景統(tǒng)一,看起來像是一個(gè)整體(自行腦補(bǔ)圖片)。
按照官方文檔,我們自定義主題:
對(duì)應(yīng)的 Activity 引用該主題:
我看來看看效果:
雖然實(shí)現(xiàn)了半透明,但是布局被狀態(tài)欄覆蓋,接下來在布局文件中設(shè)置 fitSystemWindows (注意加到根節(jié)點(diǎn) ConstraintLayout 上):
來看看效果:
雖然布局沒有被狀態(tài)欄覆蓋,但是狀態(tài)欄背景顯然這不是我們想要的效果????
為什么狀態(tài)欄會(huì)這么奇怪?
文章開頭的定義中我們說了,布局文件會(huì)延伸到狀態(tài)欄所占區(qū)域下, fitsSystemWindows 的作用是給對(duì)應(yīng)的 View 增加 padding(這里以 ConstraintLayout 為例),目的是為了讓其內(nèi)容不被狀態(tài)欄遮擋。
在我們的布局文件中 ConstraintLayout 沒有設(shè)置背景(默認(rèn)白色),所以狀態(tài)欄默認(rèn)的半透明背景色和 ConstraintLayout 的白色背景疊加,就變成了上圖中的效果。
【總結(jié)】?jī)蓚€(gè)基本概念:
1、 windowTranslucentStatus 設(shè)置為true之后,狀態(tài)欄默認(rèn)是 半透明 的(4.4 是黑色到透明色漸變,5.0+ 是純黑色半透明),和我們要求的 透明 相去甚遠(yuǎn)。更重要的是,布局會(huì)延伸到狀態(tài)欄底下。
2、 android:fitsSystemWindows 簡(jiǎn)單理解 就是 View 為了適配系統(tǒng)狀態(tài)欄和導(dǎo)航欄(不被遮擋)自動(dòng) 增加 padding ,當(dāng)然真正的實(shí)現(xiàn)原理比這復(fù)雜很多而且不同的 View 可以自定義實(shí)現(xiàn)方式。
所以,為了實(shí)現(xiàn)文章開頭提出來的“狀態(tài)欄透明”效果,我們需要處理:
設(shè)置 windowTranslucentStatus 為 true,讓狀態(tài)欄半透明。
在根節(jié)點(diǎn)設(shè)置 android:fitsSystemWindows 使其不被狀態(tài)欄遮擋。
Android 4.4 暫時(shí)沒有辦法去掉狀態(tài)欄的漸變。
Android 5.0+ 開始支持修改狀態(tài)欄顏色,設(shè)置透明色即可把半透明去掉。
看看效果:
我們看到即使?fàn)顟B(tài)欄透明了,但是其底色是一片白,因?yàn)楦?jié)點(diǎn) ConstraintLayout 沒有設(shè)置背景,大多情況下我們不會(huì)給整個(gè)跟節(jié)點(diǎn)設(shè)置顏色,可以考慮把 android:fitsSystemWindows 設(shè)置到子 View 上,本例中是 AppBarLayout (5.0+ 無效,只能顯式給 AppBarLayout 加 padding,可以利用其背景色),實(shí)際項(xiàng)目中可靈活調(diào)整。
最終效果:
至此,完成狀態(tài)欄透明效果,網(wǎng)上有很多庫,實(shí)際上都是基于此原理,在此基礎(chǔ)上再自定義 View 做為狀態(tài)欄背景。
本文名稱:android半透明,android半透明背景
轉(zhuǎn)載來于:http://chinadenli.net/article8/dsgosop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、微信公眾號(hào)、網(wǎng)頁設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、網(wǎng)站改版、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)