package com.android.cvt;
import android.app.AlertDialog;
import android.content.Context;
import android.provider.Settings;
import android.view.View;
import android.view.WindowManager;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
/*自定义一个MySeekBarDialog*/
public class MySeekBarDialog extends AlertDialog {
private SeekBar brightBar;//用于显示屏幕亮度
private OnSeekbarChangedListener mListener;//监听SeekBar事件,比如拖动等
/*获取监听对象*/
public OnSeekbarChangedListener getmListener() {
return mListener;
}
/*设置监听对象*/
public void setmListener(OnSeekbarChangedListener mListener) {
this.mListener = mListener;
super(context);
View view = getLayoutInflater().inflate(R.layout.mydialog,null);
brightBar = (SeekBar) view.findViewById(R.id.brightSeekBar);
brightBar.setProgress((int) (android.provider.Settings.System.getInt(
context.getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS, 255) ));
setView(view);
brightBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
mListener.onChange(progress);
}
});
}
public interface OnSeekbarChangedListener{
public void onChange(int progress);
}
}
import android.app.AlertDialog;
import android.content.Context;
import android.provider.Settings;
import android.view.View;
import android.view.WindowManager;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
/*自定义一个MySeekBarDialog*/
public class MySeekBarDialog extends AlertDialog {
private SeekBar brightBar;//用于显示屏幕亮度
private OnSeekbarChangedListener mListener;//监听SeekBar事件,比如拖动等
/*获取监听对象*/
public OnSeekbarChangedListener getmListener() {
return mListener;
}
/*设置监听对象*/
public void setmListener(OnSeekbarChangedListener mListener) {
this.mListener = mListener;
}
/*自定义构造函数用于初始化*/
protected MySeekBarDialog(Context context) {super(context);
View view = getLayoutInflater().inflate(R.layout.mydialog,null);
brightBar = (SeekBar) view.findViewById(R.id.brightSeekBar);
brightBar.setProgress((int) (android.provider.Settings.System.getInt(
context.getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS, 255) ));
setView(view);
brightBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
mListener.onChange(progress);
}
});
}
public interface OnSeekbarChangedListener{
public void onChange(int progress);
}
}
本文介绍如何使用自定义SeekBarDialog实现Android系统中屏幕亮度的动态调节,包括创建自定义对话框类,实现亮度进度条的监听事件,以及通过设置回调方法响应用户的操作。
1166

被折叠的 条评论
为什么被折叠?



