title: 键盘
tags: []
notebook: 自定义控件
键盘控件(KeyboardView)
image背景
-
需求来源:
-
需求内容:
可以选中键盘中的按键,支持多选和单选 ,选中后按键文本颜色发生改变
说明
1、功能只支持4.4及以上的设备
基础功能
/**
* 获取选择的按键
* @return
*/
List<KeyBoardBean> getSelectedKeys();
/**
* 设置键盘模式 单选、多选
* @param mode
*/
void setMode(KeyBoardModeEnum mode);
/**
* 设置选中按键的文本颜色
* @param keySelcolor
*/
void setKeySelcolor(int keySelcolor);
/**
* 设置未选中按键的文本颜色
* @param keycolor
*/
void setKeycolor(int keycolor);
使用
-
自定义属性
自定义属性 说明 key_mode 设置键盘模式 0:多选 , 1:单选 key_selcolor 设置选中按键的文本颜色 key_normal_color 设置未选中按键的文本颜色 -
布局文件
<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>
-
代码调用
mKeyboardView = findViewById(R.id.keyboard); mKeyboardView.setMode(KeyBoardModeEnum.SINGLE);//设置键盘模式 mKeyboardView.setKeycolor(Color.BLUE); //设置未选中按键的文本颜色 mKeyboardView.setKeySelcolor(Color.YELLOW);//设置选中按键的文本颜色 //设置按键点击事件监听 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项目已上传
网友评论