我创建了一个自定义键盘,用户可以在其中输入键盘本身的值,问题是我无法在键盘视图中获得焦点以编辑文本。提供一些建议。
这是 xml 文件,我在自定义键盘中添加了我想要的 ui。而且用户应该能够在键盘内的字段和当前焦点字段之间导航
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_login_home"
android:layout_width="match_parent"
android:layout_height="65dp"
android:background="@color/keyboard_grey"
android:visibility="visible">
<RelativeLayout
android:id="@+id/rl_pre_login"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:layout_marginLeft="7dp"
android:layout_marginRight="7dp"
android:layout_marginTop="5dp"
android:background="@drawable/keyboard_rounded_bg"
android:visibility="visible">
<ImageView
android:id="@+id/imv_mfs"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:background="@drawable/logo_mode_fin" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/btn_login"
android:layout_toRightOf="@+id/imv_mfs">
<TextView
android:id="@+id/txv_msg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="@string/welcome_to_mfs"
android:textColor="@color/black"
android:textSize="12dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txv_msg1"
android:layout_centerHorizontal="true"
android:text="@string/login_to_continue_fund_transfer"
android:textColor="@color/black"
android:textSize="12dp" />
</RelativeLayout>
<Button
android:id="@+id/btn_login"
android:layout_width="65dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="7dp"
android:background="@drawable/button_background"
android:text="@string/login"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="14dp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_login"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:layout_marginLeft="7dp"
android:layout_marginRight="7dp"
android:layout_marginTop="5dp"
android:background="@drawable/keyboard_rounded_bg"
android:visibility="gone">
<RelativeLayout
android:id="@+id/rl_back"
android:layout_width="45dp"
android:layout_height="match_parent">
<ImageView
android:layout_width="20dp"
android:layout_height="18dp"
android:layout_centerInParent="true"
android:background="@drawable/left_arrow" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/btn_login_next"
android:layout_toRightOf="@+id/rl_back">
<EditText
android:id="@+id/edt_login_mobile_number"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:background="@null"
android:hint="@string/enter_mobile_number"
android:inputType="number"
android:textColorHint="@color/edittext_hint"
android:textSize="14dp" />
</RelativeLayout>
<Button
android:id="@+id/btn_login_next"
android:layout_width="65dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="7dp"
android:background="@drawable/button_background"
android:text="@string/next"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="14dp" />
</RelativeLayout>
</RelativeLayout>
<com.mode.customkeyboard.LatinKeyboardView
android:id="@+id/keyboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/white"
android:keyBackground="@drawable/key_background"
android:keyPreviewLayout="@layout/preview"
android:keyTextColor="@color/black"
android:paddingTop="0dp"
android:popupLayout="@layout/keyboard_popup_layout"
android:shadowRadius="0.0"
android:visibility="gone">
</com.mode.customkeyboard.LatinKeyboardView>
</LinearLayout>