Android在API 28上增加了缺口支持,但如何在运行API 27的设备上处理它(荣誉10,华为P20等)?
我试图使用,DisplayCutoutCompat
但我无法创建它的实例,因为文档没有真正指出如何创建一个.
如何创建构造函数参数值:Rect safeInsets
,List<Rect> boundingRects
?
我也查看了构造函数的源代码,这对我来说有点混乱:
public DisplayCutoutCompat(Rect safeInsets, List<Rect> boundingRects) {
this(SDK_INT >= 28 ? new DisplayCutout(safeInsets, boundingRects) : null);
}
Run Code Online (Sandbox Code Playgroud)
这将始终在运行API <28的设备上返回null .先感谢您.
如果将Theme.MaterialComponents.Light设置为主要主题,那么如果在xml布局中使用它们,这两个按钮之间会有什么区别吗?
<Button />
<com.google.android.material.button.MaterialButton />
Run Code Online (Sandbox Code Playgroud)
如我所见,它们的行为均与MaterialButtons相同。如果要获取旧的普通按钮的行为,则必须使用:
<androidx.appcompat.widget.AppCompatButton />
Run Code Online (Sandbox Code Playgroud)
提前致谢!
android android-appcompat android-button material-design material-components-android