以下是从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中编写此行?
谢谢。
事实证明arrayOf()
,kotlin是一种创建特定类型数组的方法。就你而言Drawable
。在Java中,您可以通过以下方式创建此代码:
Drawable[] drawables = new Drawable[] {dimDrawable, navigationBarDrawable}
您可以省略new Drawable[]
和编写:
Drawable[] drawables = {dimDrawable, navigationBarDrawable}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句