自定义形状的textview,Android

时间:2015-04-14 16:21:44

标签: android textview android-custom-view text-editor

我正在寻找一种在Android上制作自定义形状文本输入控件的方法,如屏幕截图所示。

需要的是有一些不会被文字覆盖的预定义位置(灰色面)。因此,当用户键入时 - 文本将从左侧或右侧放置一些偏移量,具体取决于灰色矩形的位置。

在iOS上很容易做到,只需几行代码即可。但我无法在Android上找到这样做的方法。请注意,灰色rects可能不是文本输入组件的一部分。在iOS上,我只需在UITextView上放置两个UIImageView,并设置rects以从渲染文本中排除:

CGFloat margin = 8;
CGRect firstPathRect = CGRectMake(0, 80, 160 + margin, 90 + margin);
CGRect secondPathRect = CGRectMake([UIScreen mainScreen].bounds.size.width - 160 - 2 * margin, 280, 160, 90 + margin);
UIBezierPath *path1 = [UIBezierPath bezierPathWithRect:firstPathRect];
UIBezierPath *path2 = [UIBezierPath bezierPathWithRect:secondPathRect];
self.textView.textContainer.exclusionPaths = @[path1, path2];

我希望有人可以帮我完成这项任务。提前谢谢!

screenshot from iOS

1 个答案:

答案 0 :(得分:2)

查看此库以获取流动文本: https://github.com/deano2390/FlowTextView