具有两种自定义颜色的 ActonBar

ActonBar with two custom colors

大家好,我正在尝试使 ActionBar 与上图相同(使用此“波浪”),其中红色可以在 运行 时更改。我尝试使用 GradientDrawable(下面的代码),但是渐变效果并不酷,这不是我需要的。

        GradientDrawable gd = new GradientDrawable(
                GradientDrawable.Orientation.LEFT_RIGHT,
                new int[] {cor, Color.WHITE});
        gd.setCornerRadius(0f);

        actionBar.setBackgroundDrawable(gd);

有什么想法吗?

我不完全确定,但可以使用自定义 drawable.xml 之类的 来完成。甚至,我认为您会混合一些可绘制对象来获取您要发布的图像。

另一种方法是将要设置为操作栏的 png 或 jpg 图像和代码 this。问候!

我在 https://vectr.com (.svg) 中创建了上图的红色部分。 在 Android Studio 中,我从创建的图像中添加了一个新的 shape_action_bar.xml(矢量资产)。

在activity我添加了以下代码:

        Drawable drawable = getNavigationController().getResources().getDrawable(R.drawable.shape_action_bar);
        ColorFilter color = new PorterDuffColorFilter(selected_color, PorterDuff.Mode.SRC_ATOP );
        drawable.setColorFilter(color);

        actionBar.setBackgroundDrawable(drawable);

形状会根据想要的颜色改变颜色。谢谢