MaterialDatePicker 很慢

Tay*_*har 5 android datepicker lag material-design

我正在使用 MaterialDatePicker,但它很慢。

public class MainActivity extends AppCompatActivity
{

    MaterialDatePicker.Builder<Long> datePickerBuilder;
    MaterialDatePicker<Long> datePicker;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        datePickerBuilder = MaterialDatePicker.Builder.datePicker();
        datePicker = datePickerBuilder.build();

        Button btn = findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                datePicker.show(getSupportFragmentManager(), null);
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

第一次按下按钮时,需要 3 秒时间才会显示日期选择器。随后单击按钮时,它会在 1 秒内打开。在日期选择器中选择日期后出现滞后,它并不像您期望的那样平滑。

有什么办法解决这个问题吗?

编辑:似乎还有更多错误。通过水平滚动更改月份时存在滞后,很多时候会滑动 2-3 次,最终选择错误的月份。我认为MaterialDatePicker 不好用,UX 太差了。

小智 1

请原谅,因为这应该是一条评论,但可惜我无法写一条评论,也许它可以帮助某人。

正如 @TayyabMazhar 所发生的情况一样,我还观察到 Material Date Picker 需要几秒钟的时间来显示,并且通过水平滚动更改月份会产生视觉伪影。

我在我正在开发的应用程序以及 Google 的 Material 演示应用程序中都观察到了这一点(只是稍微少一点 - 我可以确认选择器仍然很慢:查看 logcat 两个应用程序都显示当选择器启动,约 45)。有趣的是,虽然我可以在手机上看到这一点(功能强大的 SoC、6Gb RAM、安装的应用程序很少),但当我运行功能较弱的模拟设备时,我却看不到它。

此外,我尝试使用不同的材质版本,1.3.0-alpha02、1.2.0、1.1.0...但得到了相同的结果。