为什么键盘视图xml文件中的布局没有出现在软键盘中?

时间:2019-11-26 18:39:15

标签: java android android-layout android-softkeyboard

我正在为Android开发软键盘项目,并想在KeyboardView的顶部添加一些LinearLayouts。我使用this question来放置布局,但是当我运行项目时,仅出现KeyboardView。我已经编辑了布局的高度和宽度,但是没有任何效果。 问题出在哪里?

这是我的代码:

keyboardview.xml

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="#212121"
    android:id="@+id/linear1">
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="50dp"
    android:layout_width="match_parent"
    android:orientation="horizontal">
    <ImageView
        android:id="@+id/keyboard1"
        android:layout_height="50dp"
        android:layout_width="50dp"
        android:src="@drawable/ic_keyboard"
        android:gravity="center"
        android:foreground="?android:attr/selectableItemBackground"
        />
    <ImageView
        android:id="@+id/keyboard2"
        android:layout_height="50dp"
        android:layout_width="50dp"
        android:src="@drawable/ic_keyboard"
        android:gravity="center"
        android:foreground="?android:attr/selectableItemBackground"
        />
    <TextView
        android:id="@+id/keyboard3"
        android:layout_height="50dp"
        android:layout_width="50dp"
        android:text="K"
        android:textSize="11dp"
        android:textColor="#AAAAAA"
        android:gravity="center"
        android:foreground="?android:attr/selectableItemBackground"
        />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:gravity="center|end">
        <ImageView
            android:id="@+id/backcursor"
            android:layout_height="50dp"
            android:layout_width="50dp"
            android:src="@drawable/ic_backcursor"
            android:gravity="center"
            android:foreground="?android:attr/selectableItemBackground"
            />
        <ImageView
            android:id="@+id/nextcursor"
            android:layout_height="50dp"
            android:layout_width="50dp"
            android:src="@drawable/ic_nextcursor"
            android:gravity="center"
            android:foreground="?android:attr/selectableItemBackground"
            />
    </LinearLayout>
</RelativeLayout>
<android.inputmethodservice.KeyboardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/keyboard"
    android:keyPreviewLayout="@layout/keyboard_preview"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:keyBackground="@drawable/key_background"
    android:keyTextColor="#FFFFFF"
    android:background="#212121"/>
    </LinearLayout>

Java类

@Override
public View onCreateInputView() {
    final View root = getLayoutInflater().inflate(R.layout.keyboardview, null, false);
    keyboardView = (KeyboardView) root.findViewById(R.id.keyboard); 
    ImageView keyboard1 = (ImageView) root.findViewById(R.id.keyboard1);
    ImageView keyboard2 = (ImageView) root.findViewById(R.id.keyboard2);
    TextView keyboard3 = (TextView) root.findViewById(R.id.keyboard3);
    ImageView backcursor = (ImageView) root.findViewById(R.id.backcursor);
    ImageView nextcursor = (ImageView) root.findViewById(R.id.nextcursor);
    keyboard = new Keyboard(this, R.xml.keys_layout);
    keyboardView.setKeyboard(keyboard);
    keyboardView.setOnKeyboardActionListener(this);
    caps = true;

0 个答案:

没有答案