编辑文本缩放与选择
我有一个我想缩放它,并用/滚动,它工作正常 - 文本正在正确的位置进行编辑。EditText
setScaleX
setScaleY
但是当我尝试选择文本时 - 它会将选择手柄绘制到位置,例如文本未缩放时。这是已知的错误。
这是预期的结果,因为在与视图大小相关的弹出窗口上绘制句柄。
上的所有操作都针对其字段 。如果我们通过反射设置自己的编辑器,我不知道该如何处理私有方法,这些方法不可重写。android.widget.Editor
private TextView mTextView;
此外,选择手柄是在布局中计算的弹出窗口坐标上绘制的,我只需要,但对于我们的目的来说,它没有区别。android.widget.Editor.HandleView#HandleView
DynamicLayout
方法是公共的,其值可以按比例乘以,但为此我们需要扩展和覆盖私有方法,但这是一个问题。android.text.Layout#getPrimaryHorizontal(int, boolean)
android.widget.TextView#makeSingleLayout
此外,我们可以使用所有必需的重写方法实现自己的布局,但是我们可以重写的所有方法都标有注释,并且没有可以通过反射访问的字段。@hide
显示下一个屏幕截图,用于在 2x 上缩放
PS:任务的上下文是一个 编辑器 与捏合缩放编辑文本。通过计算大小来中继文本不是解决方案。因为我需要每个屏幕尺寸上的便携式文档。