如何在android中捏缩放一个edittext?

请建议一种在检测到捏合手势时缩放edittext的所有内容的方法。 想要像KingSoft和quickoffice这样的典型文本编辑器应用程序进行缩放。

这将是令人讨厌的,但你可以EditText

在子类中,重写onTouch并将其值传递给ScaleGestureDetector 。 将检测到的比例存储为成员变量。

覆盖onDraw ,并在调用canvas.scale()之前使用您的缩放值调用canvas.scale()

这可能会对插入符号和编辑控件造成严重破坏。

我写了一个简单的库来做这件事,当我需要应用程序中的function时。 你可以在GitHub上找到它

要添加tad的答案,您可能可以使用MetricAffectingSpan或CharacterStyle的子项: http : //developer.android.com/reference/android/text/style/MetricAffectingSpan.html

你将不得不处理复制/粘贴(带跨度!),这将是乏味的。

请注意,您可以从现有类派生自己的跨度,但我不能说当您将文本复制并粘贴到另一个应用程序时会发生什么。

OTOH,如果你从一开始就决定你的文本只是纯文本而且只有一个用于缩放的范围,那可能不是那么乏味。