gpt4 book ai didi

android - 移动编辑文本

转载 作者:行者123 更新时间:2023-11-30 04:34:02 25 4
gpt4 key购买 nike

我有一个 EditText,它被放置在 Framelayout 中。我试图让 EditText 在被选中时可以在屏幕上移动。

因此,每当用户选择允许移动项目的模式时,我都会将编辑文本设置为启用(false),这是通过消除编辑文本获得焦点并显示闪烁光标或软键盘的可能性来实现的.但与此同时,当我尝试移动它时,我无法接收到任何触摸输入。

有什么解决方案可以让我移动编辑文本而不让编辑文本接收焦点吗?

我尝试将 focusablefocusableInTouchMode 设置为 false,但它也不起作用。

最佳答案

我通过两个设置完成了此操作。首先,您需要让包装器结构 (LinearLayout) 处理移动事件。将其挂接到包装器的 Touch 事件:

void FrameTouch (object sender, View.TouchEventArgs e)
{

if (e.Event.Action == MotionEventActions.Move) {
int placeX = (int)e.Event.GetX () - v.Width / 2;
int placeY = (int)e.Event.GetY () - v.Height / 2;
v.Layout (placeX, placeY, placeX+v.Width, placeY+v.Height);
}

}

然后您需要覆盖 EditText 的 onTouch 事件以确保它在禁用时不会吞下触摸事件:

public override bool OnTouchEvent (MotionEvent e)
{
if (!Enabled)
return false;

base.OnTouchEvent (e);
return true;
}

关于android - 移动编辑文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com