【问题标题】:Android RatingBar gradient drawableAndroid RatingBar渐变可绘制
【发布时间】:2016-07-14 17:04:51
【问题描述】:

如果我需要在 onDraw 方法中绘制那些“ZZZZZ”而不是在 xml 中定义,因为它们需要从小到大,有没有一种方法可以为我的评级视图绘制渐变。因此,我没有扩展 RatingBar 类,而是尝试扩展 textview 类并计划使用 onTouch (Move) 事件来获得 1-5 的评分。如果您认为扩展 RatingBar 类会更好,请纠正我。到目前为止,我能够通过使用来获得不同的文本大小 -

 for (int i = 0; i < text.length(); i++) {
        SpannableStringBuilder sb;
        fontSize += incrementFontBy;
        paint.setTextSize(fontSize);
        setTypeface(typeFace);
        sb.setSpan(new AbsoluteSizeSpan(fontSize), i, character.length, 0);
        setText(sb);
    }

另外,我不确定在我移动手指时是否可以使用可扩展的渐变,但我知道我可以使用绘画对象进行渐变。出于测试目的,我做了 -

paint.setShader(new LinearGradient(0,0,0,getPaint().getTextSize()/2,Color.BLACK,Color.GREEN, Shader.TileMode.CLAMP));

我还没有实现 onTouch 事件。但在我参加 onTouch 事件之前,我试图找到我所有的可能性。我正在寻找的东西

  • 可跨文本是否有渐变(目前正在查看动态可跨文本)
  • Rating 视图可以自定义绘图(从小到大的绘图和触摸渐变

期待

目前的结果

【问题讨论】:

    标签: android textview android-custom-view ratingbar ontouch


    【解决方案1】:

    扩展 RatingBar 可能是一个更好的主意。只需使用您的自定义可绘制对象创建新样式并将该样式添加到 RatingBar 的样式属性。

    更详细的方法可以找到here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-24
      • 2012-08-14
      相关资源
      最近更新 更多