控件:拖动条 --- SeekBar(改变屏幕亮度)

本文介绍了一个简单的SeekBar组件使用案例,通过SeekBar控制Android设备的屏幕亮度。代码详细展示了如何在XML布局文件中定义SeekBar,并在Java代码中设置SeekBar的监听器,实现屏幕亮度的动态调整。

View Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation
="vertical"
android:layout_width
="fill_parent"
android:layout_height
="fill_parent">
<ImageView
android:id="@+id/pic"
android:src
="@drawable/android_book"
android:layout_width
="fill_parent"
android:layout_height
="wrap_content"/>
<SeekBar
android:id="@+id/seekbar"
android:layout_width
="fill_parent"
android:layout_height
="wrap_content" />
</LinearLayout>
View Code
import android.app.Activity;
import android.os.Bundle;
import android.view.WindowManager;
import android.widget.SeekBar;

public class MySeekBarDemo extends Activity {
private SeekBar seekbar = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main);
this.seekbar = (SeekBar) super.findViewById(R.id.seekbar);
this.seekbar.setMax(100);
this.seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListenerImpl());
}

private class OnSeekBarChangeListenerImpl implements SeekBar.OnSeekBarChangeListener {
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
MySeekBarDemo.this.setScreenBrightness((float) seekBar.getProgress() / 100);
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}
/**
* WindowManager.LayoutParams可以进行屏幕亮度调节
*
@param num
*/
private void setScreenBrightness(float num) { // 0 ~ 1表示亮度
// 取得屏幕的属性
WindowManager.LayoutParams layoutParams = super.getWindow().getAttributes() ;
// 设置屏幕亮度
layoutParams.screenBrightness = num ;
// 重新设置窗口的属性
super.getWindow().setAttributes(layoutParams) ;
}
}
View Code
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package
="org.lxh.demo"
android:versionCode
="1"
android:versionName
="1.0">
<uses-sdk android:minSdkVersion="3" />

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".MySeekBarDemo"
android:label
="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>
</manifest>




 

 

 

转载于:https://www.cnblogs.com/androidsj/archive/2012/03/04/2379165.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值