ProgressBar.SetProgress 在 Android 中崩溃 6.x 在 Android Xamarin 中
ProgressBar.SetProgress crash in Android 6.x in Android Xamarin
我得到了这个 class,它为 ProgressBar 制作动画:
public class ProgressBarAnimation : Animation
{
private ProgressBar progressBar;
private float from;
private float to;
public ProgressBarAnimation(ProgressBar progressBar, float from, float to)
{
this.progressBar = progressBar;
this.to = to;
this.from = from;
}
protected override void ApplyTransformation(float interpolatedTime, Transformation t)
{
float value = from + (to - from) * interpolatedTime;
progressBar.SetProgress((int)value, true);
}
}
它工作正常但在 Android 6.0.1 中崩溃了,我认为它会在所有 Android 6 上崩溃。有人知道吗?
我知道本机 Android 有类似 setProgress(int) 的东西,但 Xamarin Android 总是要求 2 个参数,所以无法真正修复它。
谢谢。
已在 API level 24 中添加了 2 参数方法。
对于 24 以下的 API,使用 Xamarin 中的 属性 Progress
(他们总是尝试用属性替换 setter)。
我得到了这个 class,它为 ProgressBar 制作动画:
public class ProgressBarAnimation : Animation
{
private ProgressBar progressBar;
private float from;
private float to;
public ProgressBarAnimation(ProgressBar progressBar, float from, float to)
{
this.progressBar = progressBar;
this.to = to;
this.from = from;
}
protected override void ApplyTransformation(float interpolatedTime, Transformation t)
{
float value = from + (to - from) * interpolatedTime;
progressBar.SetProgress((int)value, true);
}
}
它工作正常但在 Android 6.0.1 中崩溃了,我认为它会在所有 Android 6 上崩溃。有人知道吗?
我知道本机 Android 有类似 setProgress(int) 的东西,但 Xamarin Android 总是要求 2 个参数,所以无法真正修复它。
谢谢。
已在 API level 24 中添加了 2 参数方法。
对于 24 以下的 API,使用 Xamarin 中的 属性 Progress
(他们总是尝试用属性替换 setter)。