600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Android 自定义软键盘实现

Android 自定义软键盘实现

时间:2019-01-25 12:14:34

相关推荐

Android 自定义软键盘实现

module链接:/download/meixi_android/10652565

compile project(':edlibrary')

, ':edlibrary'

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/root_view"android:orientation="vertical"><ScrollViewandroid:id="@+id/sv_main"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"><LinearLayoutandroid:id="@+id/all_ed"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><EditTextandroid:id="@+id/normal_ed"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="普通键盘" /><EditTextandroid:id="@+id/special_ed"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="特殊键盘"android:inputType="numberPassword"/></LinearLayout></ScrollView></LinearLayout>

private LinearLayout rootView;private ScrollView scrollView;private EditText specialEd;private KeyboardUtil keyboardUtil;

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);rootView = (LinearLayout) findViewById(R.id.root_view);scrollView = (ScrollView) findViewById(R.id.sv_main);specialEd = (EditText) findViewById(R.id.special_ed);initMoveKeyBoard();}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0 ) {if(keyboardUtil.isShow){keyboardUtil.hideSystemKeyBoard();keyboardUtil.hideAllKeyBoard();keyboardUtil.hideKeyboardLayout();}else {return super.onKeyDown(keyCode, event);}return false;} elsereturn super.onKeyDown(keyCode, event);}private void initMoveKeyBoard() {keyboardUtil = new KeyboardUtil(this, rootView, scrollView);// keyboardUtil.setOtherEdittext(normalEd);// monitor the KeyBarod statekeyboardUtil.setKeyBoardStateChangeListener(new KeyBoardStateListener());// monitor the finish or next KeykeyboardUtil.setInputOverListener(new inputOverListener());specialEd.setOnTouchListener(new KeyboardTouchListener(keyboardUtil, KeyboardUtil.INPUTTYPE_NUM, -1));}class KeyBoardStateListener implements KeyboardUtil.KeyBoardStateChangeListener {@Overridepublic void KeyBoardStateChange(int state, EditText editText) {// System.out.println("state" + state);// System.out.println("editText" + editText.getText().toString());}}class inputOverListener implements KeyboardUtil.InputFinishListener {@Overridepublic void inputHasOver(int onclickType, EditText editText) {// System.out.println("onclickType" + onclickType);// System.out.println("editText" + editText.getText().toString());}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。