今天搞了一天不用XML,在java程序代码中修改ProgressBar的样式,网上找来半天都没有,好在还是弄出来了!

ProgressBar pb = new ProgressBar(this,null,android.R.attr.progressBarStyleHorizontal);

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(200,20);

params.setMargins(10, 10, 0, 0);

pb.setLayoutParams(params);

pb.setMax(100);

pb.setProgress(45);

pb.setSecondaryProgress(50);

LayerDrawable progressDrawable = (LayerDrawable) pb.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[i] = progressDrawable.getDrawable(i);

break;

case android.R.id.secondaryProgress://设置二级进度条

//

outDrawables[i] = progressDrawable.getDrawable(i);

break;

case android.R.id.progress://设置进度条

GradientDrawable mDrawable = new GradientDrawable(

GradientDrawable.Orientation.TOP_BOTTOM,

new int[] {Color.parseColor("#FF0000"), Color.parseColor("#ff747674")});

mDrawable.setGradientCenter(0.0f, 0.75f);

mDrawable.setGradientRadius((float)(Math.sqrt(5) * 60));

mDrawable.setGradientType(GradientDrawable.LINEAR_GRADIENT);

mDrawable.setCornerRadii(new float[] { 5, 5, 5, 5, 5, 5, 5, 5 });

ClipDrawable oidDrawable = (ClipDrawable) progressDrawable.getDrawable(i);

ClipDrawable proDrawable = new ClipDrawable(mDrawable, Gravity.LEFT,ClipDrawable.HORIZONTAL);

proDrawable.setLevel(oldDrawable.getLevel());

outDrawables[i] = proDrawable;

break;

default:

break;

}

}

progressDrawable = new LayerDrawable(outDrawables);

pb.setProgressDrawable(progressDrawable);

android progressbar 代码,android ProgressBar纯java样式修改相关推荐

  1. android滴滴打车代码,Android 端滴滴打车接口的开发

    前两天做了一个对Android端'滴滴打车'的接口开发吧! 今天来做个简单的流程, 滴滴会提供这样一个接口, http://webapp.diditaxi.com.cn/? maptype=wgs&a ...

  2. android 共享代码,Android团队成员间的代码共享!(Git+Github版)

    原创,转载请说明出处. 一. 这篇文章要解决什么问题,能学习到什么? 在android团队的开发中,少不了与队员之间的合作.为了避免我们傻瓜式地复制粘贴对方的负责的那部分功能代码,我们可以用svn或者 ...

  3. 名片夹android布局代码,Android自定义布局实现仿qq侧滑部分代码

    自定义布局实现仿qq侧滑部分Android代码,供大家参考,具体内容如下 实现说明: 通过自定义布局实现: SlidingLayout继承于 HorizontalScrollView /** * Cr ...

  4. 获取android型号代码,Android应用开发之Android获取手机品牌、手机型号、手机唯一序列号的代码教程...

    本文将带你了解Android应用开发Android获取手机品牌.手机型号.手机唯一序列号的代码教程,希望本文对大家学Android有所帮助. Android获取手机品牌.手机型号.手机唯一序列号的代码 ...

  5. android gravity 代码,android:layout_gravity和android:gravity属性的区别

    android:gravity / android:layout_gravity区别: android:gravity 是设置该view类里面的内容相对于该view的位置,例如设置button里面的t ...

  6. android扔骰子代码,Android实现掷骰子效果

    本文实例为大家分享了android实现掷骰子效果的具体代码,供大家参考,具体内容如下 利用handler接受子线程的消息完成骰子点数的不断更替 演示 start:开始游戏 stop:停止游戏 reco ...

  7. android linearlayout 代码,Android如何从代码向另一个LinearLayout添加Linearlayout

    我在main.xml中有一个LinearLayout: android:layout_width="match_parent" android:layout_height=&quo ...

  8. android内存代码,Android内存优化(五) Lint代码扫描工具

    1.使用 工具栏 -> Analyze -> Inspect Code- 点击 Inspect Code 后会弹出检查范围的对话框: 默认是检查整个项目,我们可以点击 Custom sco ...

  9. android摄像头代码,Android摄像头

    [android]代码库import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStrea ...

最新文章

  1. cocos2d-x的未来展望
  2. SWFUpload上传文件组件,跨域上传文件
  3. SizeOf与Structure与Managed Code
  4. centos6 yum修改源
  5. 前端开发流程与组件化
  6. Python FastApi:快速建立docker容器/挂载共享文件夹/导入导出
  7. POLYCOM RMX2000 激活与初始化 信令板卡初始化
  8. web服务面试python_Python面试重点(web篇)
  9. 13_python基础—函数进阶(参数、返回值、递归)
  10. Linux时间子系统
  11. 吴文俊应用计算机进行几何定理的证明,吴文俊先生的吴方法怎么用?如何用吴方法证明几何定理?...
  12. MATLAB基础速成
  13. Latex + vscode + SumatraPdf配置的一些历程
  14. 平面解析几何----双曲线的硬解公式
  15. 认知世界(1)--学与思
  16. MySQL的TRUNCATE()函数
  17. 服务器共享文件搜索慢的原因,客户端访问服务器共享文件反应很慢.doc
  18. 编程语言C语言用中文代写方法,C语言中如何输入汉字,C语言乱码详细解答
  19. 教程 | 校徽头像制作小程序后端实现
  20. 如何解决PDCA空转现象?

热门文章

  1. JavaSE--IO流
  2. 2003系统服务器防域名报毒,【系统之家】木马病毒无孔不入 win 2003系统也要防木马...
  3. 李群、李代数在SLAM中的应用
  4. 模型评估方法(混淆矩阵)
  5. 课后作业-团队编程项目总结
  6. H5页面添加音乐播放
  7. Navicat Premium 12.1.16 Mac破解汉化版 解压即用
  8. lcg_value() 函数
  9. python不同的版本有什么区别_多版本python的区别方法
  10. 美国计算机博士学制,美国博士学制