编辑文字-专注于触控

时间:2018-09-11 13:03:33

标签: java android xml

我创建了一个记事应用。 在我的应用中,当我创建新笔记时。默认情况下,光标位于标题编辑文本上,但是我想具有一项功能,如果我触摸屏幕上的任何位置,光标都应转到描述编辑文本。我将描述编辑文本保留在权重为1的单独线性布局中。 请找到图像以获取想法。 在给定的图片中,我要触摸该区域中任何地方的蓝线覆盖的区域,我的焦点应该指向编辑我编写提示描述的文本

XML
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:id="@+id/scview"
    android:layout_weight="1">

        <EditText
            android:id="@+id/body_content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="#000"
            android:textSize="18sp"
            android:inputType="textMultiLine"
            android:hint="Description"
            android:backgroundTint="@android:color/transparent"/>.

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

像这样在您的xml的父级布局上使用onClickListener()

 RelativeLayout parentRelativelayout=(RelativeLayout)findViewByRid(R.id.your_parent_layout_in_xml);
EditText edtDescription=(Edittext)findViewByRid(R.id.body_content);

parentRelativelayoutsetOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
           edtDescription.requestFocus();
        }
    });

答案 1 :(得分:0)

您需要重写dispatchTouchEvent方法并更改focus,因为用户触摸屏会触发dispatchTouchEvent方法。

@override Boolean dispatchTouchEvent(MotionEvent ev )  {
        Toast.makeText(context ,"dispatchTouchEvent", Toast.LENGTH_SHORT).show()
        return super.dispatchTouchEvent(ev)
    }