在自定义键盘中编辑文本

时间:2018-10-05 06:26:02

标签: android android-custom-keyboard

我创建了一个自定义键盘,用户可以在其中输入值,问题是我无法集中精力在键盘视图内编辑文本。提供一些建议。enter image description here

这是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>

1 个答案:

答案 0 :(得分:0)

对于背景:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke
        android:width="1dp"
        android:color="#FFFFFF" />
    <solid
        android:color="#FFFFFF"
        android:paddingLeft="10dp"
        android:paddingTop="10dp"/>
    <padding
        android:left="10dp"
        android:top="10dp"
        android:right="10dp"
        android:bottom="10dp" />
</shape>

删除此内容:

android:background="@null" 

使用此:

android:focusable="true"