title: 鍵盤
tags: []
notebook: 自定義控件
鍵盤控件(KeyboardView)

image
背景
-
需求來源:
-
需求內(nèi)容:
可以選中鍵盤中的按鍵,支持多選和單選 ,選中后按鍵文本顏色發(fā)生改變
說明
1、功能只支持4.4及以上的設(shè)備
基礎(chǔ)功能
/**
* 獲取選擇的按鍵
* @return
*/
List<KeyBoardBean> getSelectedKeys();
/**
* 設(shè)置鍵盤模式 單選、多選
* @param mode
*/
void setMode(KeyBoardModeEnum mode);
/**
* 設(shè)置選中按鍵的文本顏色
* @param keySelcolor
*/
void setKeySelcolor(int keySelcolor);
/**
* 設(shè)置未選中按鍵的文本顏色
* @param keycolor
*/
void setKeycolor(int keycolor);
使用
-
自定義屬性
自定義屬性 說明 key_mode 設(shè)置鍵盤模式 0:多選 , 1:單選 key_selcolor 設(shè)置選中按鍵的文本顏色 key_normal_color 設(shè)置未選中按鍵的文本顏色 -
布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <com.tuya.smart.kakeyboard.widget.KeyboardView android:id="@+id/keyboard" android:layout_marginLeft="64dp" android:layout_marginRight="64dp" android:layout_width="match_parent" android:layout_height="176dp" android:layout_centerInParent="true" app:key_mode="1" app:key_selcolor="@color/key_selected_color" app:key_normal_color="@color/key_normal_color" /> /RelativeLayout> -
代碼調(diào)用
mKeyboardView = findViewById(R.id.keyboard); mKeyboardView.setMode(KeyBoardModeEnum.SINGLE);//設(shè)置鍵盤模式 mKeyboardView.setKeycolor(Color.BLUE); //設(shè)置未選中按鍵的文本顏色 mKeyboardView.setKeySelcolor(Color.YELLOW);//設(shè)置選中按鍵的文本顏色 //設(shè)置按鍵點(diǎn)擊事件監(jiān)聽 mKeyboardView.setKeyBoardItemClickListener(new KeboardAdapter.KeyBoardItemClickListener() { @Override public void onItemClick(KeyBoardBean bean, int pos) { //獲取所有選中的按鍵 List<KeyBoardBean> list = mKeyboardView.getSelectedKeys(); Log.i(TAG, "onItemClick: " + bean.getKey() + " , size = " + list.size()); } });
最后
- 組件demo項(xiàng)目已上傳