package com.github.anastr.speedview; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.SeekBar; import android.widget.Spinner; import android.widget.TextView; import com.github.anastr.speedviewlib.base.Speedometer; import com.github.anastr.speedviewlib.components.Indicators.ImageIndicator; import com.github.anastr.speedviewlib.components.Indicators.Indicator; import java.util.ArrayList; import java.util.List; import java.util.Locale; public class WorkWithIndicatorActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener { Speedometer speedometer; TextView textWidth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_work_with_indicator); speedometer = (Speedometer) findViewById(R.id.speedometer); textWidth = (TextView) findViewById(R.id.textWidth); assert speedometer != null; speedometer.speedTo(40); Spinner spinner = (Spinner) findViewById(R.id.spinner); assert spinner != null; spinner.setOnItemSelectedListener(this); List<String> categories = new ArrayList<>(); categories.add("NoIndicator"); categories.add("NormalIndicator"); categories.add("NormalSmallIndicator"); categories.add("TriangleIndicator"); categories.add("SpindleIndicator"); categories.add("LineIndicator"); categories.add("HalfLineIndicator"); categories.add("QuarterLineIndicator"); ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, categories); spinner.setAdapter(dataAdapter); spinner.setSelection(1); SeekBar seekBarWidth = (SeekBar) findViewById(R.id.seekBar); assert seekBarWidth != null; seekBarWidth.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int width, boolean b) { speedometer.setIndicatorWidth(speedometer.dpTOpx(width)); textWidth.setText(String.format(Locale.getDefault(), "%ddp", width)); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); } @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { switch (position) { case 0: speedometer.setIndicator(Indicator.Indicators.NoIndicator); break; case 1: speedometer.setIndicator(Indicator.Indicators.NormalIndicator); break; case 2: speedometer.setIndicator(Indicator.Indicators.NormalSmallIndicator); break; case 3: speedometer.setIndicator(Indicator.Indicators.TriangleIndicator); break; case 4: speedometer.setIndicator(Indicator.Indicators.SpindleIndicator); break; case 5: speedometer.setIndicator(Indicator.Indicators.LineIndicator); break; case 6: speedometer.setIndicator(Indicator.Indicators.HalfLineIndicator); break; case 7: speedometer.setIndicator(Indicator.Indicators.QuarterLineIndicator); break; } } @Override public void onNothingSelected(AdapterView<?> arg0) { } public void imageIndicator(View view) { ImageIndicator imageIndicator = new ImageIndicator(getApplicationContext(), R.drawable.image_indicator1 , (int)speedometer.dpTOpx(speedometer.getWidth()), (int)speedometer.dpTOpx(speedometer.getHeight())); speedometer.setIndicator(imageIndicator); } }