我创建了一个记事应用。 在我的应用中,当我创建新笔记时。默认情况下,光标位于标题编辑文本上,但是我想具有一项功能,如果我触摸屏幕上的任何位置,光标都应转到描述编辑文本。我将描述编辑文本保留在权重为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>
答案 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)
}