2012-05-30 32 views
1

如何点击/调暗当前屏幕点击按钮。请帮帮我。如何在android中单击按钮时变暗屏幕?

+0

也许[this](http://www.tutorialforandroid.com/2009/01/changing-screen-brightness.html)教程将帮助你。 – Praveenkumar

+1

可能的重复:http://stackoverflow.com/questions/7646865/changing-screen-brightness-programmatically-as-with-the-power-widget –

+1

另一个可能的重复http://stackoverflow.com/questions/1791340/adding - 屏幕亮度控制到android应用程序 – Tschegewara

回答

0

下面是一个解决方案,虽然它可能不是最好的:

在res/values下创建styles.xml。添加以下代码:

<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> 

注意@color/cache_color<color name="cache_color">#00000000</color>。现在点击自定义按钮应该发送一个活动意图(例如,FooActivity)。所以在你的清单中声明:

<activity android:name="com.FooActivity" android:theme="@style/Theme.Translucent"></activity> 

和瞧,当你的按钮的监听器被调用时,屏幕变暗!

+0

这是人造变暗,而不是一个适当的解决方案。 – Saket

3
WindowManager.LayoutParams lparams = getWindow().getAttributes(); 
lparams.dimAmount=1.0f; 
dialog.getWindow().setAttributes(lparams); 

暗淡的量0意味着没有暗淡,暗淡的量1.0f意味着完全暗淡。之间的任何值都是暗淡度的相应百分比。

只需将此代码添加到您想要的按钮即可。

+0

这不工作:( –

+0

@SherazKhilji调用dialog.setContentView之前设置dimAmount – jjyao

+0

@jjyao我已经解决了这个问题。事情是,我在后台线程,当我打电话给我,但一旦我把这段代码移入UI线程然后工作,谢谢 –