为自定义seekBar动态更改LinearGradient颜色比率

阿米尔·多拉(Amir Dora)。

我创建了一个带有自定义LinearGradient可绘制对象的搜索栏。但是,我希望能够更改每种颜色的渐变比率,这里我使用3种颜色,如果positionsis ,它们将平均分布null我想要的,其实是提供宽度或比于每种颜色,例如红色的变化率,并将其设置只形成0%至10%seekBar width

在这里,我想将0%设置为10%的红色,10%设置为80%的黄色,并将80%设置为100%的红色,并且能够动态更改每种颜色的宽度值。

这有可能吗?如果是,有人可以指导我如何做吗?

我的密码

private ShapeDrawable getSeekBarGradientDrawable(int mRectWidth, int mRectHeight) {
    int[] colors = new int[] { Color.RED, Color.YELLOW, getResources().getColor(R.color.primaryButton, null)};

DisplayMetrics displayMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int width = displayMetrics.widthPixels - (int) getResources().getDimension(R.dimen.margin_padding_size_medium);

    Shader shader = new LinearGradient(
            0,
            0,
            width,
            mRectHeight,
            colors, new float[] {0.1f,0.7f,0.2f},
            Shader.TileMode.CLAMP);

    ShapeDrawable shape = new ShapeDrawable(new RectShape());
    shape.getPaint().setShader(shader);
    return shape;
}

图像可以从当前设置中看到,其不像我描述的那样。

在此处输入图片说明

Cheticamp

此答案适用于将LinearGradient用作着色器

通过如下设置数组,LinearGradient颜色更改为从一种颜色过渡到同一颜色colors

int[] colors = new int[]{Color.RED, Color.RED, Color.YELLOW, Color.YELLOW, Color.GREEN, Color.GREEN};

更改LinearGradient以定义颜色区域,如下所示:请参见带有位置的LinearGradient

Shader shader = new LinearGradient(  
    0,  
    0,  
    width,  
    mRectHeight,  
    colors, new float[]{0f, 0.1f, 0.1f, 0.8f, 0.8f, 1.0f},  
    Shader.TileMode.CLAMP);

这将迫使着色器在一个区域上从一种颜色过渡到同一颜色,从而创建纯色。

在此处输入图片说明

以上将提供从一种颜色到另一种颜色的即时转换。如果您想要一个狭窄的过渡(比LinearGradient的默认过渡窄),则可以如下操作color和position数组。接下来,我们将过渡从红色更改为黄色。

int[] colors = new int[]{Color.RED, Color.RED, Color.YELLOW, Color.YELLOW, Color.YELLOW, Color.GREEN, Color.GREEN};
Shader shader = new LinearGradient(
        0,
        0,
        width,
        mRectHeight,
        colors, new float[]{0f, 0.1f, 0.15f, 0.15f, 0.8f, 0.8f, 1.0f},
        Shader.TileMode.CLAMP);

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义SeekBar,可在缓冲时同时更改进度颜色和背景颜色

来自分类Dev

将默认设计主题更改为自定义颜色

来自分类Dev

通过自定义Bootstrap更改按钮上的悬停颜色

来自分类Dev

自定义视图的状态更改时更改颜色

来自分类Dev

自定义Seekbar肢体问题

来自分类Dev

如何制作自定义SeekBar以在栏中显示颜色渐变?

来自分类Dev

以编程方式更改自定义按钮形状的颜色

来自分类Dev

自定义Android Seekbar

来自分类Dev

单击我的按钮,更改我的自定义输入的颜色

来自分类Dev

SwiftUI的TabView颜色无法更改为自定义颜色

来自分类Dev

如何更改或自定义熊猫的颜色?

来自分类Dev

自定义动画,延迟更改文本颜色

来自分类Dev

如何在“开始”屏幕中为桌面应用程序自定义图块(更改/更大的图标,更改颜色)?

来自分类Dev

android seekbar自定义可绘制

来自分类Dev

更改Google Map中的颜色(自定义)

来自分类Dev

更改自定义uibarbuttonitem(iOS7)的颜色

来自分类Dev

自定义Seekbar与TextViews

来自分类Dev

更改(自定义)ProgressBar颜色

来自分类Dev

可绘制的Android自定义Seekbar

来自分类Dev

如何使用自定义颜色更改gnuplot颜色框

来自分类Dev

更改自定义ListView的文本颜色

来自分类Dev

以编程方式更改自定义按钮形状的颜色

来自分类Dev

在自定义UICollectionViewCell中更改UILabel的文本颜色

来自分类Dev

在xml中为按钮定义了自定义形状。现在,我想动态更改颜色。如何?

来自分类Dev

自定义Seekbar View实施

来自分类Dev

自定义 DefaultTableCellRenderer 不更改 jTable 上行的背景颜色

来自分类Dev

VisualCode - 更改自定义 Word 的字体颜色

来自分类Dev

使用动态颜色创建自定义 xml drawable

来自分类Dev

如何创建可以动态接受角半径和颜色并相应更改的自定义按钮视图

Related 相关文章

  1. 1

    自定义SeekBar,可在缓冲时同时更改进度颜色和背景颜色

  2. 2

    将默认设计主题更改为自定义颜色

  3. 3

    通过自定义Bootstrap更改按钮上的悬停颜色

  4. 4

    自定义视图的状态更改时更改颜色

  5. 5

    自定义Seekbar肢体问题

  6. 6

    如何制作自定义SeekBar以在栏中显示颜色渐变?

  7. 7

    以编程方式更改自定义按钮形状的颜色

  8. 8

    自定义Android Seekbar

  9. 9

    单击我的按钮,更改我的自定义输入的颜色

  10. 10

    SwiftUI的TabView颜色无法更改为自定义颜色

  11. 11

    如何更改或自定义熊猫的颜色?

  12. 12

    自定义动画,延迟更改文本颜色

  13. 13

    如何在“开始”屏幕中为桌面应用程序自定义图块(更改/更大的图标,更改颜色)?

  14. 14

    android seekbar自定义可绘制

  15. 15

    更改Google Map中的颜色(自定义)

  16. 16

    更改自定义uibarbuttonitem(iOS7)的颜色

  17. 17

    自定义Seekbar与TextViews

  18. 18

    更改(自定义)ProgressBar颜色

  19. 19

    可绘制的Android自定义Seekbar

  20. 20

    如何使用自定义颜色更改gnuplot颜色框

  21. 21

    更改自定义ListView的文本颜色

  22. 22

    以编程方式更改自定义按钮形状的颜色

  23. 23

    在自定义UICollectionViewCell中更改UILabel的文本颜色

  24. 24

    在xml中为按钮定义了自定义形状。现在,我想动态更改颜色。如何?

  25. 25

    自定义Seekbar View实施

  26. 26

    自定义 DefaultTableCellRenderer 不更改 jTable 上行的背景颜色

  27. 27

    VisualCode - 更改自定义 Word 的字体颜色

  28. 28

    使用动态颜色创建自定义 xml drawable

  29. 29

    如何创建可以动态接受角半径和颜色并相应更改的自定义按钮视图

热门标签

归档