新聞中心

android自定義seekBar

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

Android中自定義SeekBar的背景顏色,進度條顏色,以及滑塊的圖片

本文引用地址:http://2s4d.com/article/201609/305005.htm

在Android中的控件種類已經(jīng)足夠我們使用,但是有時候大家需要根據(jù)美工的設(shè)計來改變一些控件的顏色,式樣,以及背景圖片

最近正好有這方面的需要,用了很久時間,找到了改變基本顏色以及圖片的方法。

下面以SeekBar為例,為大家描述一下我的做法

首先在layout文件夾中的main.xml內(nèi)容如下

android:layout_height=fill_parent

android:layout_height=wrap_content android:max=100

android:progress=50 android:progressDrawable=@drawable/seekbar_img

android:thumb=@drawable/thumb />

很簡單,只有一個SeekBar控件,注意它的 android:progressDrawable=@drawable/seekbar_img

以及 android:thumb=@drawable/thumb

它們分別對應(yīng)的是進度條的圖片以及拖動滑塊的圖片,這里的圖片也可以是我們自定義的drawable中的xml文件,可以理解成這兩個屬性應(yīng)該如何顯示的意思,而 @drawable/seekbar_img和@drawable/thumb它們分別對應(yīng)著 drawable 文件夾中的文件seekbar_img.xml和thumb.xml,它們表示著如何去顯示進度條與滑塊

第一步:定義Activity

在main.xml文件中加上一個SeekBar和一個TextView

android:orientation=vertical

android:layout_width=fill_parent

android:layout_height=fill_parent

>

android:id=@+id/seekbar

android:layout_width=fill_parent

android:layout_height=wrap_content

android:progressDrawable=@drawable/seekbar_img

android:thumb=@drawable/thumb

>

android:id=@+id/edit

android:layout_width=fill_parent

android:layout_height=wrap_content

>

第二步:編寫Activity

package com.gufengxiachen.counter;

import android.app.Activity;

import android.os.Bundle;

import android.widget.SeekBar;

import android.widget.SeekBar.OnSeekBarChangeListener;

import android.widget.TextView;

public class CounterActivity extends Activity {

//定義一個SeekBar和一個TextView

private SeekBar seekBar;

private TextView textView;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//根據(jù)ID值取得SeekBar對象

seekBar = (SeekBar)findViewById(R.id.seekbar);

seekBar.setMax(100);

//為SeekBar設(shè)置監(jiān)聽器(這里使用匿名內(nèi)部類)

seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){

//復(fù)寫OnSeeBarChangeListener的三個方法

//第一個時OnStartTrackingTouch,在進度開始改變時執(zhí)行

@Override

public void onStartTrackingTouch(SeekBar seekBar) {

// TODO Auto-generated method stub

}

//第二個方法onProgressChanged是當(dāng)進度發(fā)生改變時執(zhí)行

@Override

public void onProgressChanged(SeekBar seekBar, int progress,

boolean fromUser) {

// TODO Auto-generated method stub

textView = (TextView)findViewById(R.id.edit);

int i= seekBar.getProgress();

textView.setText(+i);

}

//第三個是onStopTrackingTouch,在停止拖動時執(zhí)行

@Override

public void onStopTrackingTouch(SeekBar seekBar) {

// TODO Auto-generated method stub

textView = (TextView)findViewById(R.id.edit);

int i= seekBar.getProgress();

textView.setText(+i);

}

});

}

}



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉