Android笔记:根据进度代码改变progressbar背景颜色,ClipDrawable,LayerDrawable,setProgressDrawable

做个笔记,主要是需要使用ClipDrawable、LayerDrawable:

private void setProgressBg(int progress) {
    int a = progress * 255 / 100;
    int color = Color.argb(a, 255, 90, 147);
    ColorDrawable colorDrawable = new ColorDrawable();
    colorDrawable.setColor(color);
    ClipDrawable clipDrawable = new ClipDrawable(colorDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);

    Drawable drawable = getResources().getDrawable(R.color.transparent);
    Drawable[] layers = new Drawable[]{drawable,clipDrawable};
    LayerDrawable layerDrawable = new LayerDrawable(layers);
    layerDrawable.setDrawableByLayerId(0,drawable);
    layerDrawable.setDrawableByLayerId(1,clipDrawable);
    progressBar.setProgressDrawable(clipDrawable);

    progressBar.setProgress(0);
    progressBar.setProgress(progress);

    Loger.d("Vote投票", "result = " + progress);
    Loger.d("Vote投票", "a = " + a);
}
时间: 2024-10-24 18:23:02

Android笔记:根据进度代码改变progressbar背景颜色,ClipDrawable,LayerDrawable,setProgressDrawable的相关文章

ios点击改变uiview背景颜色

ios点击改变uiview背景颜色是一个再常见不过的需求.第一反应应该不麻烦,于是写了个第一个版本 @interface RespondentUIView() { UIColor * bgColor; } @end @implementation RespondentUIView- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { bgColor = self.backgroundColor; self.backgr

用JS让下拉框改变网页背景颜色

<HTML> <HEAD> <TITLE>石家庄渣浆泵配件</TITLE> </HEAD> <SCRIPT> <!-- function bgChange(selObj) { newColor = selObj.options[selObj.selectedIndex].text; document.bgColor = newColor; selObj.selectedIndex = -1; } //--> </SC

ubuntu 下 eclipse CDT代码提示框背景颜色修改

原生态的ubuntu下eclipse 代码提示框的背景颜色是黑背景,前景颜色是白的,所以看起来特别不舒服,很难辨别的清楚,所以查询了资料想修改成Windows下的样子.通过查资料所知,通过修改eclipse里面的设置是不成功的,必须得修改Ubuntu的主题来解决这个问题. 原生态的代码提示框的颜色为: 由此可以知道,这是很难看的,经过调整下,颜色背景为: 修改步骤为: 1,打开/usr/share/themes/Ambiance/gtk-2.0/gtkrc 此步骤必须要该文件的读写权限,可以通过

Android学习笔记(24):进度条组件ProgressBar及其子类

ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related Method Description style 设置ProgressBar指定风格 android:indeterminate 设置为true时,进度条不显示运行进度 android:indeterminateBehavior indeterminate模式下.当进度条达到最大值时的动画处理行为

转 Android RadioButton设置选中时文字和背景颜色同时改变

主要应用在购物车,像淘宝的那样,点击以后弹出一个选择种类颜色这样的popuwindow以后,然后这个选择种类的地方要用到类似这个玩意儿. 搜了一下,效果和这个文章一致.转了. 原文地址:http://blog.csdn.net/liuwan1992/article/details/52688408 在使用 RadioButton 时,有时我们会想要达到选中时文字颜色和背景颜色同时改变的效果,这里还需要多进行几步操作. 首先,在布局文件中新建一组 RadioButton : [html] view

Android button, xml文件定义形状,代码中修改背景颜色

1. 首先在drawable文件夹定义一个shape.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8"?><shape    xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <solid android:color=

MFC改变对话框背景颜色

原文链接: http://blog.sina.com.cn/s/blog_59955afc0100spjz.html 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现. ---- 其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色.下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下: ---- ① 新建一个基于Dialog的MFC AppWizard应用程序ExampleDlg. ---- ② 在CExampleDlgApp ::InitInst

C# 改变控制台背景颜色

之前查找静态构造函数相关的问题无意间碰到的一个问题.改变控制台的背景颜色. 1 static void Main(string[] args) 2 { 3 //设置绿色 4 Console.BackgroundColor = ConsoleColor.Green; 5 6 Console.WriteLine("背景色改变了"); 7 8 } 这段代码运行以后是这个样子的.和想要的结果不符合. 所以正确的代码其实是 1 static void Main(string[] args) 2

UI:改变UIView背景颜色

//每隔一秒改变一次颜色 [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeColor) userInfo:nil repeats:YES]; #pragma mark 改变颜色 - (void)changeColor{ //动画开始 [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.5]; s