Android Activityスタイルの透明度の設定

9747 ワード

一、Activityの透明度を設定するにはいくつかの方法がある:1>.リストファイルにActivityを設定するときにandroid:theme="@android:style/Theme.Translucent"2>を宣言します.カスタムトピックを使用するには、カスタムトピックで使用するプロパティ設定の説明を参照してください.
<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>

以下は簡単な半透明効果で、微信ログインのようにアカウントを切り替えると、下に3つのボタンがポップアップされ、上には半透明の効果があります.
    <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.0 fから1.0 fの間にある.1.0完全不透明、0.0 f完全透明
グレースケールの設定
        WindowManager.LayoutParams windowLP = getWindow().getAttributes();
        windowLP.dimAmount = 0.5f;
        getWindow().setAttributes(windowLP);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

dimAmountは0.0 fと1.0 fの間で、0.0 fは完全に暗くなく、1.0 fは完全に暗い
これらの設定はdialogダイアログボックスにも有効です.
二、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"