如何让Android ProgressBar在代码中确定?

前端之家收集整理的这篇文章主要介绍了如何让Android ProgressBar在代码中确定?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How do I use Android ProgressBar in determinate mode?2个
我正在尝试在代码添加进度条并使其确定:
progressBar = new ProgressBar(getActivity());
progressBar.setLayoutParams(layoutParams);
parent.addView(progressBar,index);
progressBar.setId(id.list_item_secondary);
progressBar.setProgressDrawable(getResources().getDrawable(drawable.progress_horizontal));
progressBar.setIndeterminate(false);
progressBar.setMax(100);

在progressBar.setIndeminminate(false)之后,isIndeterminate仍然为true,进度保持显示不确定的圆.

我怎样才能确定它?

解决方法

从ProgressBar源代码 here,您调用的构造函数在第237行,它在第241行调用构造函数,而第241行又使用样式调用第245行中的构造函数
com.android.internal.R.attr.progressBarStyle

此样式默认情况下将android:indeterminateOnly属性设置为true,因此将忽略对setIndeterminate的调用.请参阅第433行的功能说明.

我没有这样做,但我假设你在第245行中调用构造函数如下:

progressBar = new ProgressBar(getActivity(),null,<Your Style ID>);

作为第三个参数传递一个样式定义与android:indeterminateOnly为false它应该工作.基于源代码,我假设setIndeterminate仅用于启用它而不是禁用它.

希望这可以帮助…

原文链接:https://www.f2er.com/android/317744.html

猜你在找的Android相关文章