Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package nl.rigault.colormix.view;
- import java.util.Observable;
- import java.util.Observer;
- import nl.rigault.colormix.R;
- import nl.rigault.colormix.model.ColorModel;
- import android.content.Context;
- import android.util.AttributeSet;
- import android.view.LayoutInflater;
- import android.widget.LinearLayout;
- import android.widget.SeekBar;
- public class RGBSeekBarView extends LinearLayout implements Observer {
- protected ColorModel model;
- private SeekBar r, g, b;
- public RGBSeekBarView(Context context) {
- super(context);
- init();
- }
- public RGBSeekBarView(Context context, AttributeSet attrs) {
- super(context, attrs);
- init();
- }
- public RGBSeekBarView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- init();
- }
- private void init() {
- LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- inflater.inflate(R.layout.rgbseekbar, this);
- r = (SeekBar) findViewById(R.id.seekBar1);
- g = (SeekBar) findViewById(R.id.seekBar2);
- b = (SeekBar) findViewById(R.id.seekBar3);
- SeekBarChangeListener listener = new SeekBarChangeListener();
- r.setOnSeekBarChangeListener(listener);
- g.setOnSeekBarChangeListener(listener);
- b.setOnSeekBarChangeListener(listener);
- model = ColorModel.getInstance();
- model.addObserver(this);
- }
- @Override
- public void update(Observable observable, Object data) {
- r.setProgress(model.getR());
- g.setProgress(model.getG());
- b.setProgress(model.getB());
- }
- private class SeekBarChangeListener implements SeekBar.OnSeekBarChangeListener {
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress,
- boolean fromUser) {
- if (!fromUser) {
- return;
- }
- if (seekBar == r) {
- model.setR(progress);
- }
- else if (seekBar == g) {
- model.setG(progress);
- }
- else {
- model.setB(progress);
- }
- }
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- // TODO Auto-generated method stub
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement