自定義實(shí)物鍵盤控件


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


鍵盤控件(KeyboardView)

image

背景

  • 需求來源:

    恒宇鍵盤OEMAPP定制開發(fā)

  • 需求內(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)目已上傳
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容