Android EditText,让它填满整个屏幕并在其中任意位置书写

Posted

技术标签:

【中文标题】Android EditText,让它填满整个屏幕并在其中任意位置书写【英文标题】:Android EditText, make it fill the whole screen and write anywhere in it 【发布时间】:2012-10-22 05:35:01 【问题描述】:

正如标题所说,我试图拥有一个或多或少占据整个屏幕的 EditText 字段。这不是问题,但问题是当你开始写时,它开始在屏幕中间。而且你不能选择在哪里写。我试图实现的是让它像一个笔记。我可以在我选择的地方写,任何人都知道如何使这项工作:)? 谢谢!

【问题讨论】:

感谢朋友的反馈!是的,这使它在左上角。但是,假设我有一个高度为 400dp 的 editText,我希望它就像您单击可以开始编写的任何行一样。实际上,您必须单击(输入)才能进入下一行。你明白我的意思吗? 【参考方案1】:

你应该能够做到这一点

    为 EditText 实现 onTouch 侦听器(但请确保您不使用该事件)。 通过事件的getRawXgetRawY 方法查找您触摸屏幕的位置。 根据您选择的坐标设置EditText的android:padding

【讨论】:

感谢 Ernir,我得到了应该制作 TouchListener 的部分,但是我应该如何获取 rawX 和 rawY 并为 EditText 设置填充? 或者我找不到getRawY和getRawX的方法,是不是叫mehtod? 一旦你有一个事件,你可以在那个事件上调用getRawXlike in this thread(尽管使用getX/getY而不是getRawX/getRawY。你也可以使用它们)。 This 将是一个示例,说明如何以编程方式设置视图的填充。 我知道如何 getRawX() 和 getRawY() 问题是 getRaw 中的数字是浮点数,而 setPadding 只接受 int。我误解了怎么做吗? 您可以将数字从浮点数转换为整数。表达式(int) theFloatNumber 将返回浮点数的整数近似值。

以上是关于Android EditText,让它填满整个屏幕并在其中任意位置书写的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Android TableLayout 填满屏幕?

约束文本字段,使它们之间有均匀的空间并填满整个屏幕

线性布局不会填满整个屏幕

ListView 的高度填满整个屏幕,虽然设置为 wrap_content

Android的HorizontalScrollView控件里面的自控件无论怎么设置,宽度都无法填满屏幕

AbsoluteLayout 不填满屏幕