Android應用開發中半透明效果實現方案

來源:互聯網
上載者:User

手機螢幕太小,經常會用到半透明的效果以增加可視範圍,給大家分享以下半透明實現方式!

下面是自訂Activity半透明的效果例子:

res/values/styles.xml

<resources>    <style name="Transparent ">     <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>

res/values/color.xml

<?xml version="1.0" encoding="utf-8"?>  <resources>    <color name="transparent_background">#50000000</color>  </resources>

注意:color.xml的#5000000前兩位是透明的效果參數從00 到 ff(透明--不麼透明),後6位是顏色的設定

manifest.xml

<activity android:name=".TransparentActivity"android:theme="@style/Transparent" />

java代碼

public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setTheme(R.style.Transparent);           setContentView(R.layout.transparent);  }

下面是利用系統主題實現Activity半透明的效果例子:

Android為透明效果提供了內建的主題:Theme(android:style/Theme.Translucent),如果想實現透明效果,只要為Activity設定該Theme便可。

如果想實現半透明效果,則只需要繼承android:style/Theme.Translucent,並重寫便可。

繼承android:style/Theme.Translucent並重寫:

<?xml version=”1.0″ encoding=”utf-8″?><resources><style name=”Theme.Translucent” parent=”android:style/Theme.Translucent”><item name=”android:windowBackground”>@color/translucent_background</item><item name=”android:colorForeground”>#fff</item></style></resources>

AndroidMainfest.xml中使用該主題:

<activity android:name=”.Translucent” android:label=”@string/app_name”android:theme=”@style/Theme.Translucent”><intent-filter><action android:name=”android.intent.action.MAIN” /><category android:name=”android.intent.category.LAUNCHER” /></intent-filter></activity>

 

下面是實現View半透明的效果例子:

Button或者ImageButton的背景設為透明或者半透明

半透明:<Button android:background="#e0000000" ... />

透明:    <Button android:background="#00000000" ... />

顏色和不透明度 (alpha) 值以十六進位標記法表示。任何一種顏色的值範圍都是 0 到 255(00 到 ff)。對於 alpha,00 表示完全透明,ff 表示完全不透明。運算式順序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(00 到 ff);“rr=red”(00 到 ff)。例如,如果您希望對某疊加層應用不透明度為 50% 的藍色,則應指定以下值:7fff0000

設定背景圖片透明度(超簡單)

Java代碼

  1. View v = findViewById(R.id.content);//找到你要設透明背景的layout 的id

  2. v.getBackground().setAlpha(100);//0~255透明度值

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。