具有两种自定义颜色的ActonBar

时间:2020-07-15 20:46:40

标签: android android-actionbar

ActionBar

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

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

        actionBar.setBackgroundDrawable(gd);

有什么主意吗?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

在活动中,我添加了以下代码:

        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);

形状将根据所需颜色更改颜色。谢谢