在我的片段中,我有两个editTexts(下面给出的xml)。当片段显示在屏幕上时,当我触摸第一个编辑文本时,软键盘不可见,我必须首先触摸第二个编辑文本,使键盘可见,然后我才能输入第一个编辑文本。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/male" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:orientation="horizontal">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:src="@drawable/tel" />
<EditText
android:id="@+id/dad_phone_edt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:backgroundTint="#ffffff"
android:fontFamily="@font/sansation_regular"
android:inputType="phone"
android:textColor="#ffffff" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:orientation="horizontal">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:src="@drawable/skype" />
<EditText
android:id="@+id/dad_skype_edt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:backgroundTint="#ffffff"
android:fontFamily="@font/sansation_regular"
android:inputType="textPersonName"
android:textColor="#ffffff" />
</LinearLayout>
答案 0 :(得分:0)
这是建立它的一种方式
EditText editText= (EditText) fragmentView.findViewById(R.id.dad_phone_edt);
editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.RESULT_SHOWN,0);
}
});
单击editText
时强制键盘显示
您可以对dad_skype_edt
隐藏键盘按下,
如果要在触摸布局的任何位置时隐藏它,请添加此代码
your_parent_view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
View view = activity.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
return false;
}
});