2016-12-14 129 views
0

我想以編程方式使用seekbar我使用此代碼做了手術,但它不會暗淡屏幕亮度fully.I要刪除的屏幕亮度完全如何調暗屏幕亮度完全

完全暗淡我的屏幕亮度

代碼:

public class Night extends AppCompatActivity { 

private SeekBar brightbar; 
private int brightness; 
private ContentResolver contentResolver; 
private android.view.Window window; 
TextView txtPerc; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_night); 

    brightbar=(SeekBar)findViewById(R.id.brightbar); 
    txtPerc=(TextView)findViewById(R.id.txtPercentage); 
    contentResolver=getContentResolver(); 
    window=getWindow(); 
    brightbar.setMax(255); 
    brightbar.setKeyProgressIncrement(1); 

    try{ 
     brightness= Settings.System.getInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS); 
    }catch (Exception e) { 
     e.printStackTrace(); 
    } 

    brightbar.setProgress(brightness); 

    brightbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 

      if (progress<=5) 
      { 
       brightness=5; 
      }else { 
       brightness=progress; 
      } 

      float perc=(brightness/(float)255)*100; 
      txtPerc.setText((int)perc + "%"); 
     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 

     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 

      Settings.System.putInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS,brightness); 
      WindowManager.LayoutParams layoutpars=window.getAttributes(); 

      layoutpars.screenBrightness=brightness/(float)255; 
      window.setAttributes(layoutpars); 
     } 
    }); 



} 

}

任何人都可以建議我怎麼能做到這一點。

回答

0

使用婁代碼工作對我來說

WindowManager.LayoutParams layout = getWindow().getAttributes(); 
    layout.screenBrightness = 1F; 
    getWindow().setAttributes(layout); 
+0

我剛試過這個,但它在一定程度上降低了屏幕亮度,只是我想完全降低屏幕亮度 – Adarsh

1

最「夜間模式」 /「保護您的眼睛」之類的應用程序使用的服務以及查看覆蓋整個屏幕。

然後他們根據你想要的黑暗程度設置這個視圖的透明度/ alpha。背景顏色可以是不同的色調或黑色。

看看這個問題,它展示瞭如何從服務Starting a View from a Service?

希望它有助於創建一個視圖。