我的应用程序的最低API级别是19(KitKat),并包含一个带有水平Progressbar的布局.我正在使用android:progresstint属性将条形色调为自定义颜色.它在Lollipop(API 21)及更高版本上运行良好,但在下面(例如在API 19上)它没有;它以不同的颜色显示出来.原因是这个属性
is only used in API level 21 and higher
正如Android Studio所述.
所以我想知道什么是在Lollipop前设备上对Progressbar进行着色的好方法.可以使用XML在布局文件中创建吗?或者应该以不同的方式完成?
编辑#1:我的Progressbar用于显示百分比的具体值,而不是用于指示我的布局正在加载.我想明确这一点,因为在尝试了Kuldeep Kulkarni在下面写的内容之后,我的酒吧看起来像一个材料加载指示器(当然在Lollipop设备上,而不是KitKat设备上的任何可见结果).
解决方法:
您可以使用Progressbar indeterminateDrawable方法包装前Lollipop.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LolliPOP) { Drawable drawableProgress = DrawableCompat.wrap(progressbar.getIndeterminateDrawable()); DrawableCompat.setTint(drawableProgress, ContextCompat.getcolor(getContext(), androID.R.color.holo_green_light)); progressbar.setIndeterminateDrawable(DrawableCompat.unwrap(drawableProgress));} else { progressbar.getIndeterminateDrawable().setcolorFilter(ContextCompat.getcolor(getContext(), androID.R.color.holo_green_light), PorterDuff.Mode.SRC_IN);}
总结 以上是内存溢出为你收集整理的Android – 在Lollipop前设备上设置ProgressBar全部内容,希望文章能够帮你解决Android – 在Lollipop前设备上设置ProgressBar所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)