How to dim a screen on click of a button in androi

2019-06-07 22:51发布

How do i darken/dim the current screen on click of a button. PLease help me.

2条回答
男人必须洒脱
2楼-- · 2019-06-07 23:15
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.

查看更多
疯言疯语
3楼-- · 2019-06-07 23:17

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!

查看更多
登录 后发表回答