我的应用使用GradientDrawable。我必须从GradientDrawable获取颜色并将其设置为背景。

private int[] getGradientColors(GradientDrawable drawable) {
    // So I have to add this check, cause getColors() method requires min API 24 or higher
    if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.N)
       return drawable;
    return Objects.requireNonNull(drawable).getColors();
}


有没有其他方法可以在API 23中获得这种颜色?

最佳答案

据我了解,您想将渐变设置为布局背景。

将此行添加到父级布局会将背景设置为渐变

android:background="@drawable/gradient"


要么

通过代码

linearLayout.setBackgroundResource(R.drawable.gradient);

08-18 17:07