【问题标题】:ProgressBar.SetProgress crash in Android 6.x in Android XamarinAndroid Xamarin 中的 Android 6.x 中的 ProgressBar.SetProgress 崩溃
【发布时间】:2019-07-29 04:44:13
【问题描述】:

我得到了这个为 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 个参数,所以无法真正修复它。

谢谢。

【问题讨论】:

  • 发布您的崩溃日志
  • @Long,根据您的描述,您说该项目在其他设备上运行良好,但在 Android 6.0.1 上无法运行?您能提供一个可以在此处重现此问题的演示吗?
  • 是的,我测试了它,似乎只有在 6.x.x 低版本或更高版本的 Android 上崩溃才能正常工作。

标签: android xamarin progress-bar android-progressbar


【解决方案1】:

API level 24中增加了2参数法。

对于低于 24 的 API,请使用 Xamarin 中的属性 Progress(它们总是尝试用属性替换设置器)。

【讨论】:

  • 谢谢老兄,这行得通。我发现第二个参数仅在 Android 6 上崩溃,在 Android 5 和 4 上运行良好。很奇怪。
猜你喜欢
  • 2021-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-23
  • 1970-01-01
  • 1970-01-01
  • 2018-09-24
相关资源
最近更新 更多