activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
tools:context=".MainActivity"
android:background="#c6d1c6"
>
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="35sp"
android:layout_centerHorizontal="true"
/>
<!--
SeekBar
A SeekBar is an extension of ProgressBar that adds a draggable thumb. The user can touch
the thumb and drag left or right to set the current progress level or use the arrow keys.
Placing focusable widgets to the left or right of a SeekBar is discouraged.
Clients of the SeekBar can attach a SeekBar.OnSeekBarChangeListener to be notified
of the user's actions.
-->
<SeekBar
android:id="@+id/seekbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:layout_below="@id/tv"
/>
</RelativeLayout>
MainActivity.java
package com.cfsuman.me.androidcodesnippets;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Window;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private Context mContext;
private RelativeLayout mRelativeLayout;
private SeekBar mSeekBar;
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// Request window feature action bar
requestWindowFeature(Window.FEATURE_ACTION_BAR);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Get the application context
mContext = getApplicationContext();
// Change the action bar color
getSupportActionBar().setBackgroundDrawable(
new ColorDrawable(Color.parseColor("#FFFF00BF"))
);
// Get the widgets reference from XML layout
mRelativeLayout = (RelativeLayout) findViewById(R.id.rl);
mSeekBar = (SeekBar) findViewById(R.id.seekbar);
mTextView = (TextView) findViewById(R.id.tv);
/*
SeekBar.OnSeekBarChangeListener
A callback that notifies clients when the progress level has been changed. This
includes changes that were initiated by the user through a touch gesture or arrow
key/trackball as well as changes that were initiated programmatically.
*/
// Set a SeekBar change listener
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
/*
public abstract void onProgressChanged (SeekBar seekBar, int progress, boolean fromUser)
Notification that the progress level has changed. Clients can use the fromUser
parameter to distinguish user-initiated changes from those that
occurred programmatically.
Parameters
seekBar : The SeekBar whose progress has changed
progress : The current progress level. This will be in the range 0..max where
max was set by setMax(int). (The default value for max is 100.)
fromUser : True if the progress change was initiated by the user.
*/
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
// Display the current progress of SeekBar
mTextView.setText(""+i);
}
/*
public abstract void onStartTrackingTouch (SeekBar seekBar)
Notification that the user has started a touch gesture. Clients may want to use
this to disable advancing the SeekBar.
Parameters
seekBar : The SeekBar in which the touch gesture began
*/
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
/*
public abstract void onStopTrackingTouch (SeekBar seekBar)
Notification that the user has finished a touch gesture. Clients may want to
use this to re-enable advancing the SeekBar.
Parameters
seekBar : The SeekBar in which the touch gesture began
*/
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}


