Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> android sdk中 softkeyboard的自己解析(2)

android sdk中 softkeyboard的自己解析(2)

編輯:Android開發實例

2.LatinKeyBoardView.java

 

  1. /*  
  2. * Copyright (C) 2008-2009 Google Inc.  
  3. *   
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not  
  5. * use this file except in compliance with the License. You may obtain a copy of  
  6. * the License at  
  7. *   
  8. * http://www.apache.org/licenses/LICENSE-2.0  
  9. *   
  10. * Unless required by applicable law or agreed to in writing, software  
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the  
  13. * License for the specific language governing permissions and limitations under  
  14. * the License.  
  15. */ 
  16.  
  17. package com.example.android.softkeyboard;  
  18.  
  19. import android.content.Context;  
  20. import android.inputmethodservice.Keyboard;  
  21. import android.inputmethodservice.KeyboardView;  
  22. import android.inputmethodservice.Keyboard.Key;  
  23. import android.util.AttributeSet;  
  24.  
  25. public class LatinKeyboardView extends KeyboardView {  
  26. //網上說:當繼承View的時候,會有個一個含有AttributeSet參數的構造方法,  
  27. //通過此類就可以得到自己定義的xml屬性,也可以是android的內置的屬性  
  28. //就好像TextView這東西也有個 View的基類  
  29. static final int KEYCODE_OPTIONS = -100;   //干什麼用的?好像是設了一個無用的鍵值,等到後面調用  
  30.  
  31. public LatinKeyboardView(Context context, AttributeSet attrs) {  
  32. super(context, attrs);  //就是把自己的構造函數搞成人家基類的構造函數  
  33.  
  34. }  
  35.  
  36. public LatinKeyboardView(Context context, AttributeSet attrs, int defStyle) {  
  37. super(context, attrs, defStyle);  
  38. }  
  39.  
  40. @Override 
  41. protected boolean onLongPress(Key key) {  
  42. if (key.codes[0] == Keyboard.KEYCODE_CANCEL) {  
  43. //codes[0]代表當前按的值.按時間長了就失去了效果(cancel)  
  44. getOnKeyboardActionListener().onKey(KEYCODE_OPTIONS, null);  
  45. //KeyboardView類的自帶函數  
  46. return true;  
  47. } else {  
  48. return super.onLongPress(key);  
  49. }  
  50. }  
  51. }  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved