package com.aokp.romcontrol.widgets;
import android.app.Activity;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import com.aokp.romcontrol.R;
public class AlphaSeekBar extends LinearLayout implements OnSeekBarChangeListener {
private static final String SUPERSTATE = "superstate";
private static final String ALPHA = "alpha";
private static final int MAX_VALUE = 255;
int defaultValue = 255;
private TextView mAlphaText;
private TextView mPercentText;
private SeekBar mSeekBar;
public AlphaSeekBar(Context context) {
this(context, null);
}
public AlphaSeekBar(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public AlphaSeekBar(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
Activity parent = ((Activity) getContext());
parent.getLayoutInflater().inflate(R.layout.alpha_seekbar, this, true);
mAlphaText = (TextView) findViewById(R.id.alpha);
mPercentText = (TextView) findViewById(R.id.percent);
mSeekBar = (SeekBar) findViewById(R.id.seek_bar);
mSeekBar.setMax(MAX_VALUE);
mSeekBar.setOnSeekBarChangeListener(this);
mSeekBar.setProgress(defaultValue);
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
seekBar.setProgress(progress);
mAlphaText.setText(String.valueOf(progress));
int percent = Math.round((new Float(progress) / new Float(MAX_VALUE)) * 100);
mPercentText.setText(percent + "%");
}
public int getCurrentAlpha() {
return mSeekBar.getProgress();
}
public void setCurrentAlpha(int p) {
if (p < 0) {
p = 0;
} else if (p > 255) {
p = 255;
}
if (mSeekBar != null) {
mSeekBar.setProgress(p);
}
}
@Override
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
mSeekBar.setEnabled(enabled);
mAlphaText.setEnabled(enabled);
mPercentText.setEnabled(enabled);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}