使用SeekBar组件调节屏幕亮度
生活随笔
收集整理的這篇文章主要介紹了
使用SeekBar组件调节屏幕亮度
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Android手機(jī)里也可以通過(guò)程序進(jìn)行屏幕亮度的調(diào)節(jié),而這種操作往往就是通過(guò)SeekBar組件實(shí)現(xiàn)的,而要想實(shí)現(xiàn)亮度調(diào)節(jié)功能就必須android.view.Window類(lèi)的screenBrightness屬性實(shí)現(xiàn),而此屬性的取值范圍是0~1
(由暗到亮)
.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ? ? xmlns:tools="http://schemas.android.com/tools" ? ? android:layout_width="match_parent" ? ? android:layout_height="match_parent" ? ? android:orientation="vertical" ? ? tools:context=".MainActivity" > ? ? <SeekBar? ? ? ? ? android:id="@+id/seekbar" ? ? ? ? android:layout_width="fill_parent" ? ? ? ? android:layout_height="wrap_content"/> ? ?? ? ? <ImageView? ? ? ? ? android:id="@+id/img" ? ? ? ? android:layout_width="wrap_content" ? ? ? ? android:layout_height="wrap_content" ? ? ? ? android:src="@drawable/android_book"/> ? ? <TextView? ? ? ? ? android:id="@+id/light" ? ? ? ? android:layout_width="fill_parent" ? ? ? ? android:layout_height="wrap_content"/>
</LinearLayout>
.java
package com.example.seekbardemo3adjustthelight;
import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.Window; import android.view.WindowManager; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView;
public class MainActivity extends Activity { private SeekBar seekbar=null; private TextView light=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.light=(TextView) super.findViewById(R.id.light); this.seekbar=(SeekBar) super.findViewById(R.id.seekbar); this.seekbar.setMax(100); this.seekbar.setOnSeekBarChangeListener(new SeekBarChangeListenerImp()); }
public class SeekBarChangeListenerImp implements OnSeekBarChangeListener{
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub int cur=seekBar.getProgress(); MainActivity.this.setScreenBrightness(cur/100); MainActivity.this.light.setText("當(dāng)前屏幕亮度:"+cur/100); }
public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub }
public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } } //設(shè)置屏幕亮度的函數(shù) private void setScreenBrightness(float num){ WindowManager.LayoutParams layoutParams=super.getWindow().getAttributes(); layoutParams.screenBrightness=num;//設(shè)置屏幕的亮度 super.getWindow().setAttributes(layoutParams); } }
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ? ? xmlns:tools="http://schemas.android.com/tools" ? ? android:layout_width="match_parent" ? ? android:layout_height="match_parent" ? ? android:orientation="vertical" ? ? tools:context=".MainActivity" > ? ? <SeekBar? ? ? ? ? android:id="@+id/seekbar" ? ? ? ? android:layout_width="fill_parent" ? ? ? ? android:layout_height="wrap_content"/> ? ?? ? ? <ImageView? ? ? ? ? android:id="@+id/img" ? ? ? ? android:layout_width="wrap_content" ? ? ? ? android:layout_height="wrap_content" ? ? ? ? android:src="@drawable/android_book"/> ? ? <TextView? ? ? ? ? android:id="@+id/light" ? ? ? ? android:layout_width="fill_parent" ? ? ? ? android:layout_height="wrap_content"/>
</LinearLayout>
.java
package com.example.seekbardemo3adjustthelight;
import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.Window; import android.view.WindowManager; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView;
public class MainActivity extends Activity { private SeekBar seekbar=null; private TextView light=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.light=(TextView) super.findViewById(R.id.light); this.seekbar=(SeekBar) super.findViewById(R.id.seekbar); this.seekbar.setMax(100); this.seekbar.setOnSeekBarChangeListener(new SeekBarChangeListenerImp()); }
public class SeekBarChangeListenerImp implements OnSeekBarChangeListener{
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub int cur=seekBar.getProgress(); MainActivity.this.setScreenBrightness(cur/100); MainActivity.this.light.setText("當(dāng)前屏幕亮度:"+cur/100); }
public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub }
public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } } //設(shè)置屏幕亮度的函數(shù) private void setScreenBrightness(float num){ WindowManager.LayoutParams layoutParams=super.getWindow().getAttributes(); layoutParams.screenBrightness=num;//設(shè)置屏幕的亮度 super.getWindow().setAttributes(layoutParams); } }
總結(jié)
以上是生活随笔為你收集整理的使用SeekBar组件调节屏幕亮度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android当中layer-list使
- 下一篇: 监听edittext中文字个数变化··