How do i darken/dim the current screen on click of a button. PLease help me.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Here's one solution, though it may not be the best:
create styles.xml under res/values. Add the following code:
<style name="Theme.Translucent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/cache_color</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
Note that @color/cache_color
is <color name="cache_color">#00000000</color>
. Now clicking your custom button should send an intent to an activity (e.g., FooActivity). So declare this in your manifest:
<activity android:name="com.FooActivity" android:theme="@style/Theme.Translucent"></activity>
and voila, the screen is dimmed when your button's listener is called!
回答2:
WindowManager.LayoutParams lparams = getWindow().getAttributes();
lparams.dimAmount=1.0f;
dialog.getWindow().setAttributes(lparams);
The dim amount 0 means no dimming, and the dim amount 1.0f means complete dimming. Any value in between is the corresponding percentage of dim.
Just add this code to the button you want.