mwa*_*mwa 69 android android-progressbar
我正在寻找一个非常明显的东西(在其他语言中!!)它让我发疯!
我想知道如何将不确定的ProgressBar颜色从基础白/灰色变为黑色?当我更改indeterminateDrawable时,我得到的是静态图像而不是移动的动画progressBar.有没有办法简单地在xml中做到这一点?
谢谢 !
Zey*_*sem 75
progressBar.getIndeterminateDrawable().setColorFilter(
getResources().getColor(Your_Color),
android.graphics.PorterDuff.Mode.SRC_IN);
Run Code Online (Sandbox Code Playgroud)
并将Your_Color替换为所需的颜色,如:R.color.your_color_code
Anm*_*Anm 64
要在白色/浅色背景上使用默认主题中获取ProgressBar,请使用以下反向样式之一:
<ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/>
Run Code Online (Sandbox Code Playgroud)
这通常会为您提供透明的ProgressBar黑色,但某些操作系统安装使用自定义资产.如果您正在寻找特定颜色,则必须按照CommonsWare提供的说明滚动自己的绘图.
Cli*_*ton 26
我看到其他答案已经很老了,为了更改您只需要在项目中直接用XML 设置android:indeterminateTint和android:indeterminateTintMode属性的不确定ProgressBar颜色ProgressBar:
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateTint="@color/colorPrimary"
android:indeterminateTintMode="src_in"
android:indeterminate="true" />
Run Code Online (Sandbox Code Playgroud)
android:indeterminateTint - 适用于不确定进度指标的色调.
必须是一个颜色值,在形式
"#rgb","#argb","#rrggbb","#aarrggbb",或对资源的引用@color/colorPrimary.
android:indeterminateTintMode - 用于应用进度指示器色调的混合模式.
必须是以下常量之一:
add,multiply,screen,src_atop,src_in或者src_over
这些属性的Getter和Setter方法是:
getIndeterminateTintList()getIndeterminateTintMode()setIndeterminateTintList(ColorStateList tint)setIndeterminateTintMode(PorterDuff.Mode tintMode)所有这些都是在API级别21中添加的
ihr*_*pin 11
我制作示例项目并在我的博客中发布.拜托,看看.http://www.hrupin.com/2011/09/21/how-to-make-custom-indeterminate-progressbar-in-android-or-how-to-change-progressbar-style-or-color
希望,它对你有所帮助
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background" android:drawable="@drawable/bg" />
<item android:id="@android:id/secondaryProgress" android:drawable="@drawable/secondary" />
<item android:id="@android:id/progress" android:drawable="@drawable/progress" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)
小智 -5
实际上你需要做的就是在drawable中创建一个xml文件,如下所示......progress_spinner_001指向你想要动画的任何图像和持续时间......你想要显示每个图像多长时间框架......并设置你的 android:inminatedDrawable= filename_in_drawable....
<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/progress_spinner_001" android:duration="300" />
<item android:drawable="@drawable/progress_spinner_002" android:duration="300" />
<item android:drawable="@drawable/progress_spinner_003" android:duration="300" />
<item android:drawable="@drawable/progress_spinner_004" android:duration="300" />
<item android:drawable="@drawable/progress_spinner_005" android:duration="300" />
<item android:drawable="@drawable/progress_spinner_006" android:duration="300" />
<item android:drawable="@drawable/progress_spinner_007" android:duration="300" />
<item android:drawable="@drawable/progress_spinner_008" android:duration="300" />
</animation-list>
Run Code Online (Sandbox Code Playgroud)
PS您可能需要调整进度条的大小以根据需要显示
| 归档时间: |
|
| 查看次数: |
64159 次 |
| 最近记录: |