package com.example.asamles.app.actionprovider; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.SeekBar; import com.example.asamles.app.R; public class SizeAdapter { private SizeListener listener; public interface SizeListener { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser, int positionInList); public void onStartTrackingTouch(SeekBar seekBar, int positionInList); public void onStopTrackingTouch(SeekBar seekBar, int positionInList); } public SeekbarAdapter getAdapter(Context context, SizeListener listener, int size) { this.listener = listener; return new SeekbarAdapter(context, size); } public void setSizeListener(SizeListener listener) { this.listener = listener; } public class SeekbarAdapter extends BaseAdapter implements SeekBar.OnSeekBarChangeListener { private LayoutInflater mInflater; // private Context context; // private String item; private Bitmap pointIcon; private int size; private ViewHolder2 holder2; private ViewHolder holder; public SeekbarAdapter(Context context, int size) { mInflater = LayoutInflater.from(context); // this.context = context; // this.item = item; // this.pointIcon = pointIcon; this.pointIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_brush); this.size = size; } @Override public int getCount() { return 1; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } class ViewHolder2 { ImageView icon; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { holder2 = new ViewHolder2(); convertView = mInflater.inflate(R.layout.action_size_layout, null); holder2.icon = (ImageView) convertView.findViewById(R.id.image); convertView.setTag(R.layout.action_size_layout, holder2); } else { holder2 = (ViewHolder2) convertView.getTag(R.layout.action_size_layout); } if (holder2 != null) { holder2.icon.setImageBitmap(Bitmap.createScaledBitmap(pointIcon, size + 2, size + 2, false)); } return convertView; } class ViewHolder { SeekBar seekbar; } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { if (convertView == null) { holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.action_seekbar_dropdown, null); holder.seekbar = (SeekBar) convertView.findViewById(R.id.seekBar1); convertView.setTag(R.layout.action_seekbar_dropdown, holder); } else { holder = (ViewHolder) convertView.getTag(R.layout.action_seekbar_dropdown); } holder.seekbar.setOnSeekBarChangeListener(this); holder.seekbar.setTag(position); holder.seekbar.setProgress(size); return convertView; } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { int position = (Integer) seekBar.getTag(); if (progress < 2) { progress = 2; } if (listener != null) { size = progress; listener.onProgressChanged(seekBar, progress, fromUser, position); } } @Override public void onStartTrackingTouch(SeekBar seekBar) { int position = (Integer) seekBar.getTag(); if (listener != null) { listener.onStartTrackingTouch(seekBar, position); } } @Override public void onStopTrackingTouch(SeekBar seekBar) { int position = (Integer) seekBar.getTag(); if (listener != null) { listener.onStopTrackingTouch(seekBar, position); } } } }