1. 程式人生 > >Android----SeekBar進度條顯示以及改變滑塊樣式基礎

Android----SeekBar進度條顯示以及改變滑塊樣式基礎

SeekBar進度條顯示以及改變滑塊樣式基礎

直接在佈局裡面設定一個SeekBar標籤,並且加入兩個TextView去顯示SeekBar進度的數值:
    <!-- 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" />
然後在程式碼中宣告並且實現OnSeekBarChangeListener介面
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("停止拖動"); } }
顯然前面佈局檔案註釋中已經給出設定滑塊樣式的程式碼,即:android:thumb="@drawable/my_thumb" 則my_thumb裡面的程式碼為:
<?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分別為按下狀態,聚焦狀態,選擇狀態都設定為自己想要的效果圖片 最後一個是沒有使用時的效果圖片。