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 侦听器(但请确保您不使用该事件)。
通过事件的
getRawX
和getRawY
方法查找您触摸屏幕的位置。
根据您选择的坐标设置EditText的android:padding
。
【讨论】:
感谢 Ernir,我得到了应该制作 TouchListener 的部分,但是我应该如何获取 rawX 和 rawY 并为 EditText 设置填充? 或者我找不到getRawY和getRawX的方法,是不是叫mehtod? 一旦你有一个事件,你可以在那个事件上调用getRawX
like in this thread(尽管使用getX/getY而不是getRawX/getRawY。你也可以使用它们)。 This 将是一个示例,说明如何以编程方式设置视图的填充。
我知道如何 getRawX() 和 getRawY() 问题是 getRaw 中的数字是浮点数,而 setPadding 只接受 int。我误解了怎么做吗?
您可以将数字从浮点数转换为整数。表达式(int) theFloatNumber
将返回浮点数的整数近似值。以上是关于Android EditText,让它填满整个屏幕并在其中任意位置书写的主要内容,如果未能解决你的问题,请参考以下文章
ListView 的高度填满整个屏幕,虽然设置为 wrap_content