灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2781回复:0

android代码控制seekbar的样式

楼主#
更多 发布于:2012-09-06 14:02

package com.zte;
import Android.app.Activity;
import Android.graphics.Color;
import Android.graphics.drawable.ClipDrawable;
import Android.graphics.drawable.Drawable;
import Android.graphics.drawable.GradientDrawable;
import Android.graphics.drawable.LayerDrawable;
import Android.os.Bundle;
import Android.view.Gravity;
import Android.widget.LinearLayout;
import Android.widget.ProgressBar;
import Android.widget.SeekBar;
public class SeekbaActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SeekBar progressBar=(SeekBar)findViewById(R.id.seekBar1);
progressBar.setMax(100);
progressBar.setProgress(45);
progressBar.setSecondaryProgress(50);
progressBar.setThumb(getResources().getDrawable(R.drawable.handleview_layout_seek));
LayerDrawable progressDrawable = (LayerDrawable) progressBar
.getProgressDrawable();
Drawable[] outDrawables = new Drawable[progressDrawable
.getNumberOfLayers()];
for (int i = 0; i < progressDrawable.getNumberOfLayers(); i++) {
switch (progressDrawable.getId(i)) {
case Android.R.id.background:// 设置进度条背景
outDrawables = getResources().getDrawable(R.drawable.handleview_layout_seekbar_bg);
break;
case Android.R.id.secondaryProgress:// 设置二级进度条
outDrawables = getResources().getDrawable(R.drawable.handleview_layout_seekbar_bg);
break;
case Android.R.id.progress:// 设置进度条
ClipDrawable oidDrawable = (ClipDrawable) progressDrawable
.getDrawable(i);
Drawable drawable=getResources().getDrawable(R.drawable.handleview_layout_seekbar_fg);
ClipDrawable proDrawable = new ClipDrawable(drawable,
Gravity.LEFT, ClipDrawable.HORIZONTAL);
proDrawable.setLevel(oidDrawable.getLevel());
outDrawables = proDrawable;
break;
default:
break;
}
}
progressDrawable = new LayerDrawable(outDrawables);
progressBar.setProgressDrawable(progressDrawable);
}
}


摘自 csh159的专栏


喜欢0 评分0
游客

返回顶部