单击时动态添加编辑文本

时间:2013-08-06 08:54:06

标签: android

我正在开发一个允许用户向图像添加文本的Android应用程序。我需要在点击时动态地将EditText添加到布局。编辑文本应位于用户在屏幕上单击的位置。我已经能够在imageview上叠加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>

也欢迎任何替代方案

3 个答案:

答案 0 :(得分:0)

在onClickListener();

中使用EditText input = new EditText(this);

答案 1 :(得分:0)

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

您可以参考以下链接:

How to get the Touch position in android?

然后参考此链接:

Draw custom View on a specific x\y coordinates

答案 2 :(得分:0)

你需要使用OnTouchListener来获取图片的坐标,点击它就得到了 动态的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;
    }
});