Android----SeekBar進度條顯示以及改變滑塊樣式基礎
阿新 • • 發佈:2019-01-28
SeekBar進度條顯示以及改變滑塊樣式基礎
直接在佈局裡面設定一個SeekBar標籤,並且加入兩個TextView去顯示SeekBar進度的數值:然後在程式碼中宣告並且實現OnSeekBarChangeListener介面<!-- android:thumb:修改滑塊樣式 --> <SeekBar android:thumb="@drawable/my_thumb" android:id="@+id/seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:progress="50" /> <TextView android:id="@+id/tv1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv2" android:layout_width="match_parent" android:layout_height="wrap_content" />
顯然前面佈局檔案註釋中已經給出設定滑塊樣式的程式碼,即:android:thumb="@drawable/my_thumb" 則my_thumb裡面的程式碼為:package com.example.seekbar; import android.support.v7.app.ActionBarActivity; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.SeekBar; import android.widget.TextView; import android.widget.SeekBar.OnSeekBarChangeListener; public class MainActivity extends Activity implements OnSeekBarChangeListener
{ private SeekBar seekBar; private TextView tv1,tv2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); seekBar=(SeekBar) findViewById(R.id.seekBar); seekBar.setOnSeekBarChangeListener(this); tv1=(TextView) findViewById(R.id.tv1); tv2=(TextView) findViewById(R.id.tv2); } //數值改變 @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub tv1.setText("正在拖動"); tv2.setText("當前數值:"+progress); } //開始拖動 @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub tv1.setText("開始拖動"); } //停止拖動 @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub tv1.setText("停止拖動"); } }
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/select" android:state_pressed="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/select" android:state_focused="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/select" android:state_selected="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/normal"/>
</selector>
前三個item分別為按下狀態,聚焦狀態,選擇狀態都設定為自己想要的效果圖片
最後一個是沒有使用時的效果圖片。