SeekBar

sb_thumb.xml:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@mipmap/seekbar_thumb_pressed"/> <item android:state_pressed="false" android:drawable="@mipmap/seekbar_thumb_normal"/> </selector>
sb_bar.xml:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <solid android:color="#FFFFD042" /> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <solid android:color="#FFFFFFFF" /> </shape> </clip> </item> <item android:id="@android:id/progress"> <clip> <shape> <solid android:color="#FF5D96E8" /> </shape> </clip> </item> </layer-list>
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="com.xiesir.example11seekbar.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="一、基本用法\n thumb:滑块的drawable\n OnSeekBarChangeListener 事件:\n onProgressChanged:进度改变时触发\n onStartTrackingTouch:按住SeekBar时触发\n onStopTrackingTouch:放开SeekBar时触发" /> <SeekBar android:id="@+id/sbnormal" android:max="100" android:progress="28" android:secondaryProgress="58" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/tvnormal" android:text="当前进度值: " android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:text="简单自定义" android:layout_marginTop="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <SeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:maxHeight="5.0dp" android:minHeight="5.0dp" android:progressDrawable="@drawable/sb_bar" android:thumb="@drawable/sb_thumb"/> </LinearLayout>
MainActivity.java:
package com.xiesir.example11seekbar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.SeekBar; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SeekBar sbnormal = (SeekBar) findViewById(R.id.sbnormal); final TextView tvnormal = (TextView) findViewById(R.id.tvnormal); tvnormal.setText("当前进度值: " + sbnormal.getProgress() + " / 100 "); sbnormal.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { tvnormal.setText("当前进度值: " + progress + " / 100 "); } @Override public void onStartTrackingTouch(SeekBar seekBar) { Toast.makeText(MainActivity.this, "触碰 SeekBar", Toast.LENGTH_SHORT).show(); } @Override public void onStopTrackingTouch(SeekBar seekBar) { Toast.makeText(MainActivity.this, "放开SeekBar", Toast.LENGTH_SHORT).show(); } }); } }
参考:
http://www.voidcn.com/blog/zhouboyu/article/p-5779521.html
浙公网安备 33010602011771号