您的位置 首页 动态

android自定义seekBar

Android中自定义SeekBar的背景颜色,进度条颜色,以及滑块的图片在Android中的控件种类已经足够我们使用,但是有时候大家需要根据美工的设计来改变一

Android中自界说SeekBar的布景色彩,进展条色彩,以及滑块的图片

在Android中的控件品种现已满足咱们运用,可是有时候咱们需求依据美工的规划来改动一些控件的色彩,款式,以及布景图片

最近正好有这方面的需求,用了好久时刻,找到了改动根本色彩以及图片的办法。

下面以SeekBar为例,为咱们描绘一下我的做法

首先在layout文件夹中的main.xml内容如下

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

它们别离对应的是进展条的图片以及拖动滑块的图片,这儿的图片也可所以咱们自界说的drawable中的xml文件,能够了解成这两个特点应该怎么显现的意思,而 @drawable/seekbar_img和@drawable/thumb它们别离对应着 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);

//依据ID值获得SeekBar目标

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

seekBar.setMax(100);

//为SeekBar设置监听器(这儿运用匿名内部类)

seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){

//复写OnSeeBarChangeListener的三个办法

//第一个时OnStartTrackingTouch,在进展开端改动时履行

@Override

public void onStartTrackingTouch(SeekBar seekBar) {

// TODO Auto-generated method stub

}

//第二个办法onProgressChanged是当进展产生改动时履行

@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,在中止拖动时履行

@Override

public void onStopTrackingTouch(SeekBar seekBar) {

// TODO Auto-generated method stub

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

int i= seekBar.getProgress();

textView.setText(+i);

}

});

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/321317.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部