Android 設置Activity樣式 透明度

1、設置Activity透明度
有幾種方法:
1>.在清單文件中配置Activity時聲明android:theme="@android:style/Theme.Translucent" 
2>.使用自定義主題,先看看自定義主題中須要用到的一些屬性設置說明
android

<style name="custom" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item><!-- 邊框 -->
        <item name="android:windowIsFloating">true</item><!-- 是否懸浮在activity上 -->
        <item name="android:windowIsTranslucent">true</item><!-- 半透明 -->
        <item name="android:windowNoTitle">true</item><!-- 無標題 -->
        <item name="android:windowBackground">@android:color/transparent</item><!-- 背景透明 -->
        <item name="android:backgroundDimEnabled">false</item><!-- 模糊 -->
        <item name="android:backgroundDimAmount">0.6</item><!-- 灰度 -->
        <item name="android:windowContentOverlay">@null</item><!-- 窗口是否有遮蓋 -->
        <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item><!-- Activity切換動畫效果,也能夠自定義 -->
        <item name="android:colorBackgroundCacheHint">@null</item><!-- 背景緩存顏色 -->
    </style>

下面是一個簡單的半透明效果,相似微信登陸切換帳號時,下面會彈出三個按鈕,上面是半透明的效果;緩存

    <color name="trans_parent">#9000</color> <!--透明度-->
  <!-- 在此添加一種顏色值模式ARGB{xxxxxxxx},A{前兩位}表示Appha即透明度,取值爲0-255 -->
    <style name="TransParentTheme">
        <item name="android:windowBackground">@color/trans_parent</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item> <!--Activity切換動畫效果-->
    </style>

定義好主題以後須要在Activity配置中進行對主題的引用!微信

在代碼中對窗體設置透明度灰度的方法
設置透明度(這是窗體自己的透明度,非背景)
        WindowManager.LayoutParams windowLP = getWindow().getAttributes();
        windowLP.alpha = 0.5f;
        getWindow().setAttributes(windowLP);
alpha在0.0f到1.0f之間。1.0徹底不透明,0.0f徹底透明

設置灰度
        WindowManager.LayoutParams windowLP = getWindow().getAttributes();
        windowLP.dimAmount = 0.5f;
        getWindow().setAttributes(windowLP);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dimAmount在0.0f和1.0f之間,0.0f徹底不暗,1.0f全暗
這些設置對dialog對話框一樣也有效;

2、設置Activity/Application全屏
1.在代碼中設置
       //無title    
       requestWindowFeature(Window.FEATURE_NO_TITLE);    
        //全屏    
       getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN);
       //此兩段代碼必須設置在setContentView()方法以前
       setContentView(R.layout.main);  

2.在配置文件中設置
在Activity的聲明中設置主題爲全屏動畫

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
相關文章
相關標籤/搜索