说到这个透明效果.这问题就来了。这个Activity和layout到底是什么关系呢? 如果我这个Activity里面有layout.在这个layout里有各种控件.那控件会透明吗?
我的想法是一个Activity 是一个窗口,layout只是描述如何瓜分这个窗口.他没有外观.真正显示的是那些控件.
上网查了,Acitivity透明的方法网上很详细,我也在此列下吧
res/values文件夹下建立styles.xml:
- <?xml version=“1.0″ encoding=“utf-8″?>
- <RESOURCES>
- <STYLE name=“translucent”>
- <item name=“android:windowBackground”>@color/translucent_background</item>
- <item name=“android:windowIsTranslucent”>true</item>
- <item name=“android:windowAnimationStyle”>@android:style/Animation.Translucent</item>
- </STYLE>
- </RESOURCES>
在该文件夹下在创建文件colors.xml
- <?xml version=“1.0″ encoding=“UTF-8″?>
- <RESOURCES>
- <COLOR name=“translucent_background”>#60000000</COLOR>
- </RESOURCES>
有了这写设置就得告诉Activity用这写设置.
AndroidManifest.xml中找到要弹出的activity,加入theme:
android:theme=”@style/translucent”
哎,不错,确实透明了.但是问题又来了,layout里的button不透明啊.如果能让他们也透明或者半透明呢?那得设置窗口属性.
- Window window=getWindow();
- WindowManager.LayoutParams wl = window.getAttributes();
- wl.flags=WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
- wl.alpha=0.6f; 这句就是设置窗口里崆件的透明度的.0.0全透明.1.0不透明.
- window.setAttributes(wl);
恩.这样效果不错.