如何将TextView放在KeyboardView之上

时间:2018-02-21 06:40:40

标签: android custom-keyboard

我正在尝试创建自定义Android键盘。我想将TextView放在KeyboardView的顶部。

这是XML。在此布局上,TextView显示在屏幕的最顶部。但我想把它放在键盘顶部,无论键盘的高度如何。我试过玩layout_align*,但似乎无法做到。

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/input_view"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="Hello World" />
    </LinearLayout>

    <android.inputmethodservice.KeyboardView
        android:id="@+id/keyboard"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:keyPreviewLayout ="@layout/keyboard_preview"
        />
</RelativeLayout>

这是截图。

enter image description here

1 个答案:

答案 0 :(得分:0)

android:layout_above中添加LinearLayout属性,如

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/input_view"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_above="keyboard"
        android:layout_height="wrap_content">
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="Hello World" />
    </LinearLayout>

    <android.inputmethodservice.KeyboardView
        android:id="@+id/keyboard"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:keyPreviewLayout ="@layout/keyboard_preview"
        />
</RelativeLayout>