2017-08-07 32 views
0

早上好, 我在android上創建自定義鍵盤,我希望當用戶單擊上限按鈕查看在大寫的所有字母和當用戶關閉蓋帽返回字母小(在xml中),如果我可以在啓用時更改大寫字母按鈕背景。更改字母大寫當在戴爾上蓋帽

這裏是字母的XML代碼:

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" 
    android:keyWidth="10%p" 
    android:horizontalGap="0px" 
    android:verticalGap="0px" 
    android:keyHeight="60dp" 
    > 
    <Row> 
     <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/> 
     <Key android:codes="119" android:keyLabel="w"/> 
     <Key android:codes="101" android:keyLabel="e"/> 
     <Key android:codes="114" android:keyLabel="r"/> 
     <Key android:codes="116" android:keyLabel="t"/> 
     <Key android:codes="121" android:keyLabel="y"/> 
     <Key android:codes="117" android:keyLabel="u"/> 
     <Key android:codes="105" android:keyLabel="i"/> 
     <Key android:codes="111" android:keyLabel="o"/> 
     <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/> 
    </Row> 
    <Row> 
     <Key android:codes="-500" android:keyLabel="" android:keyWidth="5%p" android:keyEdgeFlags="left"/> 
     <Key android:codes="97" android:keyLabel="a"/> 
     <Key android:codes="115" android:keyLabel="s"/> 
     <Key android:codes="100" android:keyLabel="d"/> 
     <Key android:codes="102" android:keyLabel="f"/> 
     <Key android:codes="103" android:keyLabel="g"/> 
     <Key android:codes="104" android:keyLabel="h"/> 
     <Key android:codes="106" android:keyLabel="j"/> 
     <Key android:codes="107" android:keyLabel="k"/> 
     <Key android:codes="108" android:keyLabel="l"/> 
     <Key android:codes="-500" android:keyLabel="" android:keyWidth="5%p" android:keyEdgeFlags="right"/> 
    </Row> 
    <Row> 
     <Key android:codes="-1" android:keyLabel="CAPS" android:keyWidth="15%p" android:keyEdgeFlags="left"/> 
     <Key android:codes="122" android:keyLabel="z"/> 
     <Key android:codes="120" android:keyLabel="x"/> 
     <Key android:codes="99" android:keyLabel="c"/> 
     <Key android:codes="118" android:keyLabel="v"/> 
     <Key android:codes="98" android:keyLabel="b"/> 
     <Key android:codes="110" android:keyLabel="n"/> 
     <Key android:codes="109" android:keyLabel="m"/> 
     <Key android:codes="-5" android:keyLabel="DEL" android:keyWidth="15%p" android:isRepeatable="true"/> 
    </Row> 
    <Row android:rowEdgeFlags="bottom"> 
     <Key android:codes="-6" android:keyLabel="123?" android:keyWidth="20%p" android:keyEdgeFlags="left"/> 
     <Key android:codes="-300" android:keyLabel="AR"/> 
     <Key android:codes="32" android:keyLabel="SPACE" android:keyWidth="40%p" android:isRepeatable="true"/> 
     <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/dotoptions"/> 
     <Key android:codes="-4" android:keyLabel="DONE" android:keyWidth="20%p" android:keyEdgeFlags="right"/> 
    </Row> 
</Keyboard> 

,這裏是註冊會計師被點擊時的代碼:

if(Character.isLetter(code) && caps){ 
        code = Character.toUpperCase(code); 
       } 
+0

祝你好運!嗯......究竟是什麼問題? – yakobom

+0

我的意思是鍵盤看起來像這樣 http://store4.up-00.com/2017-08/150209475185141.jpg 我想要的是當用戶點擊上限時,所有的字母按鈕變成大寫和帽按鈕改變其背景顏色 –

回答

0

也許有一個更好的辦法,但如果你處理的帽子關鍵按你可以迭代所有的鍵,並使標籤大寫,如下所示:

Keyboard keyboard = keyboardView.getKeyboard(); 
List<Key> keys = keyboard.getKeys(); 
for (Key key : keys) { // NOTE: you should decide if you want to skip some keys 
    key.label = key.label.toString().toUpperCase(); 
} 
+0

這項工作後,也添加此行 KeyboardView.setKeyboard(keyboard); –

+0

但我仍然不能改變帽按鈕背景點擊時... –

+0

看看這裏,我認爲它會幫助你:https://stackoverflow.com/questions/18224520/how-to-set-different-background-的密鑰換的Android定製鍵盤 – yakobom

相關問題