Kotlin-将Layer的Kotlin方法转换为Java的问题

Jaimin Modi:

以下是从Kotlin代码功能转换的Java函数。

@RequiresApi(api = Build.VERSION_CODES.M)
public void setWhiteNavigationBar(@NonNull Dialog dialog) {
    Window window = dialog.getWindow();
    if (window != null) {
        DisplayMetrics metrics = new DisplayMetrics();
        window.getWindowManager().getDefaultDisplay().getMetrics(metrics);

        GradientDrawable dimDrawable = new GradientDrawable();
        GradientDrawable navigationBarDrawable = new GradientDrawable();
        navigationBarDrawable.setShape(GradientDrawable.RECTANGLE);
        navigationBarDrawable.setColor(Color.WHITE);

        val layers = arrayOf<Drawable>(dimDrawable, navigationBarDrawable)

        LayerDrawable windowBackground = new LayerDrawable(layers);
        windowBackground.setLayerInsetTop(1, metrics.heightPixels);

        window.setBackgroundDrawable(windowBackground);
    }
}

我对那功能下面的线有麻烦。我很困惑如何在Java的kotlin行下面编写代码:

val layers = arrayOf<Drawable>(dimDrawable, navigationBarDrawable)

因此,任何人都请指导我们如何在Java中编写此行?

谢谢。

Prashant:

事实证明arrayOf(),kotlin是一种创建特定类型数组的方法。就你而言Drawable在Java中,您可以通过以下方式创建此代码:

Drawable[] drawables = new Drawable[] {dimDrawable, navigationBarDrawable}

您可以省略new Drawable[]和编写:

Drawable[] drawables = {dimDrawable, navigationBarDrawable}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章