1. 程式人生 > >修改系統自帶預設的輸入法,系統自帶鍵盤的樣式

修改系統自帶預設的輸入法,系統自帶鍵盤的樣式

位置:Z:\myandroid\packages\inputmethods\PinyinIME,此下面有三套輸入法,我修改的是拼音輸入法。

1,Z:\myandroid\packages\inputmethods\PinyinIME\res\xml\skb_template1 
color="@color/label_color"  label_color :輸入法按鍵上顯示的字型顏色


Z:\myandroid\packages\inputmethods\PinyinIME\src\com\android\inputmethod\pinyin\XmlKeyboardLoader.java
1,鍵盤圖示有2套,一套      private static final String XMLATTR_KEY_ICON = "icon";
              另一套     private static final String XMLATTR_KEY_ICON = "icon_popup";


2,改變按鍵的圖示
Z:\myandroid\packages\inputmethods\PinyinIME\res\xml\skb_template1  normal_key_bg
改這個圖片就可以了
但是“,”和"123"二個鍵是圖片用的 light_key_bg改變這個圖片就可以

3,遮蔽輸入法的冒泡,這個方法是冒氣泡,什麼都不做就可以了

Z:\myandroid\packages\inputmethods\PinyinIME\src\com\android\inputmethod\pinyin\BalloonHint.java

  public void delayedShow(long delay, int locationInParent[]) {
      /*  if (mBalloonTimer.isPending()) {
            mBalloonTimer.removeTimer();
        }
        if (delay <= 0) {
            mParent.getLocationInWindow(mParentLocationInWindow);
            showAtLocation(mParent, Gravity.LEFT | Gravity.TOP,
                    locationInParent[0], locationInParent[1]
                            + mParentLocationInWindow[1]);
        } else {
            mBalloonTimer.startTimer(delay, BalloonTimer.ACTION_SHOW,
                    locationInParent, -1, -1);
        }*/
    }



adb push Z:\myandroid\out\target\product\evk_6sl_eink\system\app\PinyinIME.apk system/app/

adb push Z:\myandroid\out\target\product\evk_6sl_eink\system\lib\libjni_pinyinime.so system/lib/


3,修改預設的輸入法為拼音輸入法:
設定預設輸入法為google拼音
\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
    <!-- wdh add -->
    <string name="config_default_input_method" translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string>
    
\frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
 private void loadSecureSettings(SQLiteDatabase db)
//wdh add
loadStringSetting( stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
                    R.string.config_default_input_method );
adb push Z:\myandroid\out\target\product\evk_6sl_eink\system\pri-app\Settingsprovider.apk system/priv-app/

這一步要恢復出廠設定,或者重燒韌體才能看到效果