1

我正在开发一个允许用户向图像添加文本的 android 应用程序。我需要在 click 上动态地将 EditText 添加到布局中。编辑文本应位于用户在屏幕上单击的任何位置。我已经能够在图像视图上覆盖 EditText,如下所示。如何根据我在屏幕上的点击位置定位它。

布局的 XML 代码如下:

<FrameLayout
android:id="@+id/frameLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center" >

<EditText
    android:id="@+id/addText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
</EditText>

<com.infy.CirclesDrawingView
    android:id="@+id/aview"
    android:layout_width="match_parent"
    android:layout_height="300dip" />

</FrameLayout>

也欢迎任何替代品

4

3 回答 3

0

EditText input = new EditText(this);在 onClickListener() 内部使用;

于 2013-08-06T08:58:27.260 回答
0

借助触摸手势,您将获得 x 和 y 坐标,您可以将编辑文本放置在该坐标上。

你可以参考这个链接:

如何在android中获得触摸位置?

然后参考这个链接:

在特定的 x\y 坐标上绘制自定义视图

于 2013-08-06T09:28:17.760 回答
0

您需要使用 OnTouchListner 来获取单击图像的坐标,然后获取动态 EditText 并将其放在那里

imageView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN){

            System.out.println("Touch coordinates : " +
                    String.valueOf(event.getX()) + "x" + String.valueOf(event.getY()));
//get the dynamic edit text and add it here
        }
        return true;
    }
});
于 2013-08-06T09:29:26.300 回答