Android 带字符串的选择器

Android Picker with String

我有一个简单的想法。

我想使用像 that 这样的选择器 并将字符串插入其中。 有谁知道如何实现这一点?

因此,我想将名称插入到 圆形时间选择器。

这里是常用时间选择器的示例implementation

source code 可以看出,基本上 Circular 中的这些数字只是 Bitmaps 上的文本

实现该目标的基本原则是使用Canvasclass。 Canvas 持有 "draw" 电话。所以要画东西,你需要 4 个基本组件:

  • 保存像素的位图
  • a Canvas 承载绘图调用(写入位图)
  • 绘图基元(例如矩形、路径、文本、位图)和
  • 油漆(描述绘图的颜色和样式)。

所以我们创建 Paint 对象并使用 Canvas 对象设置它们的文本大小、颜色、阴影等。

使用Canvas的典型例子:

 Paint paint = new Paint(); 
 paint.setColor(Color.WHITE); 
 paint.setStyle(Style.FILL); 
 canvas.drawPaint(paint); 

 paint.setColor(Color.BLACK); 
 paint.setTextSize(20); 
 canvas.drawText("Text to be drawn", x-co ord, y-co ord, paint obj);


但是,因为在initialize()方法中初始化drawTexts() is already in String format in the link you mentioned, thing that is required to change as you can see here的Text设置的输入类型参数是改变定义的3个int数组即hours , hours_24minutes 到你想要的字符串数组。

这将使文本显示 "One"、"Two"、"Three" 等而不是“1”、“2”、“3”。

当然,您将不得不更改其他 getter/setters 的类型或任何其他调用此 initialize() 并且与这些 int 数组 无处不在 相关的方法。

希望对您有所帮助。