Android設定透明屬性總結

來源:互聯網
上載者:User

在styles裡面加<style name="transparent2" parent="@android:style/Theme.Translucent">
      <item name="android:windowNoTitle">true</item>
  </style>然後在activity裡面加theme屬性

<style name="transparent">
      <!-- <item name="android:windowIsFloating">true</item> 表示浮在螢幕上的,如果在這裡使用了,整個layout就會在 螢幕中心,相當於浮在螢幕上,所以這個只適用於dialog -->
      <item name="android:windowBackground">@color/transparent</item>  //你可以添加自己的透明背景顏色
    <item name="android:windowIsTranslucent">true</item>
      <item name="android:windowNoTitle">true</item>
            <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
  </style>

 

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);//找到你要設透明背景的layout 的id
v.getBackground().setAlpha(100);//0~255透明度值
 
android 表單透明的,黑暗度等的設定技巧
設定透明度(這是表單本身的透明度,非背景)
WindowManager.LayoutParams lp=getWindow().getAttributes();

lp.alpha = 0.3f;
getWindow().setAttributes(lp);

alpha在0.0f到1.0f之間。1.0完全不透明,0.0f完全透明

 

設定黑暗度

WindowManager.LayoutParams lp=getWindow().getAttributes();

 lp.dimAcount = 0.5f;
getWindow().setAttributes(lp);

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

dimAmount在0.0f和1.0f之間,0.0f完全不暗,1.0f全暗

 

設定背景模糊

getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

以上設定對dialog對話方塊同樣有效

 

 

 

Activity的透明、半透明效果的設定transparent
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"> 
</activity>

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

配置結束。

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.