android默认键盘布局样式

时间:2014-10-13 22:51:40

标签: android layout keyboard android-softkeyboard soft-keyboard

我想要更改默认设置(设备上的任何设备)键盘,以便显示的颜色更好地反映我的应用程序总体主题。例如白色背景,浅蓝色按键,按下时会变成深蓝色。

使用此tutorial我创建了一个自定义键盘,并且能够更改keybackground.xml以调整KeyboardView等上的键的颜色。

<android.inputmethodservice.KeyboardView
    android:id="@+id/keyboardview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:focusable="true"
    android:focusableInTouchMode="true" 
    android:visibility="gone"
android:keyBackground="@drawable/keybackground"/>

我正在寻找的是将此样式应用于设备使用的默认键盘,如果我没有找到键盘布局xml的副本,那么我可以使用默认键布局创建一个完全自定义的键盘。 / p>

我想到的一种可能的方法是替换以下行(在教程链接中解释)。

mKeyboardView.setKeyboard(new Keyboard(mHostActivity, layoutid));

使用另一种实例化/获取默认键盘的方法。

修改

我只需要在我的应用程序中显示此键盘。

3 个答案:

答案 0 :(得分:3)

您无法更改任何已安装键盘的颜色(默认或不更改),但有些可能允许您为它们创建主题作为一种扩展,但用户可以从您的应用中单独安装。键盘应用程序是与您无关的应用程序,Android不会让您直接访问其布局。您当然可以创建自己的键盘应用程序,但在您的情况下执行此操作是没有意义的(因为您只有在自定义颜色以匹配您的应用程序之后)。

此外,如果每个应用程序更改了键盘颜色,那将是糟糕的用户体验。据推测,用户已经选择了适合他/她视觉需求的键盘和主题,所以如果它在应用程序之间发生变化会很烦人(想象一下,如果你是一个色盲用户而应用程序将键盘更改为你无法区分的颜色所以你再也看不到钥匙上的东西!)。

答案 1 :(得分:0)

你不能做你计划在android中做的事情,因为这将是一个巨大的安全漏洞。您的应用无法更改默认键盘。您可以做的是,创建一个新的自定义键盘样式并将其添加为用户的选择。用户必须转到设置 - >键盘并选择键盘。你必须实施InputMethodService.但要注意,这不是一件容易的事。需要付出很多努力。

答案 2 :(得分:0)

如果您只想将键盘添加到应用程序中,请将键盘视图添加到布局中,并显示可见性:已消失。当用户单击edittext字段时,请将事件转到默认键盘并显示键盘。跟踪按下的按键并将其附加到您需要的任何位置。当用户点击edittext字段时,不要忘记隐藏键盘。