【问题标题】:ActonBar with two custom colors具有两种自定义颜色的 ActonBar
【发布时间】:2020-07-15 20:46:40
【问题描述】:

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

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

        actionBar.setBackgroundDrawable(gd);

有什么想法吗?

【问题讨论】:

    标签: android android-actionbar


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      形状会根据所需的颜色改变颜色。谢谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-28
        • 1970-01-01
        • 2021-04-18
        • 2016-09-29
        • 2012-07-10
        • 1970-01-01
        相关资源
        最近更新 更多