
回复
1.在项目根目录下的build.gradle文件中,
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
2.在entry模块的build.gradle文件中,
dependencies {
implementation('com.gitee.chinasoft_ohos:vehicle-keyboard-ohos:1.0.0')
......
}
在sdk6,DevEco Studio2.2 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
1.在XML中放置车牌输入组件:
<com.parkingwang.keyboard.view.InputView
ohos:id="$+id:inputView"
ohos:height="60vp"
ohos:width="match_parent"
ohos:top_margin="20vp"
ohos:bottom_margin="20vp"
ohos:left_margin="15vp"
ohos:right_margin="15vp"
/>
2.在代码中绑定输入组件与键盘的关联:
使用弹出键盘
// Init Views
// 创建弹出键盘
mPopupKeyboard = new PopupKeyboard(this);
// 弹出键盘内部包含一个KeyboardView,在此绑定输入两者关联。
mPopupKeyboard.attach(mInputView, this);
// KeyboardInputController提供一个默认实现的新能源车牌锁定按钮
mPopupKeyboard.getController()
.setDebugEnabled(true)
.bindLockTypeProxy(new KeyboardInputController.ButtonProxyImpl(lockTypeButton) {
@Override
public void onNumberTypeChanged(boolean isNewEnergyType) {
super.onNumberTypeChanged(isNewEnergyType);
if (isNewEnergyType) {
changeNewEnergy.setTextColor(new Color(Color.getIntColor("#ff99cc00")));
} else {
changeNewEnergy.setTextColor(new Color(Color.getIntColor("#ff000000")));
}
}
});
不弹出键盘,直接显示
// 使用 KeyboardInputController 来关联
mController = KeyboardInputController
.with(mKeyboardView, inputView);
mController.useDefaultMessageHandler();
切换新能源和普通车牌是否校验
mController.setSwitchVerify(false) //不校验(默认校验)
根据需要,你可以通过调用KeyboardEngine的setHideOKKey(boolean)
来设置是否隐藏“确定”键。
mPopupKeyboard.getKeyboardEngine().setHideOKKey(mHideOKKey);
根据需要,在不同地区的用户,输入车牌号码时,可以根据当地地理位置,显示周边省份的简称。 获取地理位置需要的定位功能,需要你外部调用定位API,获取到对应的省份名称后,设置到KeyboardEngine中。 使用如下代码:
mPopupKeyboard.getKeyboardEngine().setLocalProvinceName("广东省");
(1). 正确地显示气泡
由于顶层按键的气泡会显示到键盘之外,因此需要键盘所在的父布局代码中增加以下属性设置(如果气泡范围超出父布局,则需往上递归设置):
component.setClipEnabled(false);
mKeyboardView.setShowBubble(true);
(2). 不显示气泡
mKeyboardView.setShowBubble(false);
在Java代码中添加以下设置:
mKeyboardView.setCNTextSize(float); //设置中文字体大小
mKeyboardView.setENTextSize(float); //设置英文字母或数字字体大小
CodeCheck代码测试无异常
CloudTest代码测试无异常
病毒安全检测通过
当前版本demo功能与原组件基本无差异
Copyright (c) 2017 Xi'an iRain IoT. Technology Service CO., Ltd.
注意:于2018年04月08日,本源代码修改开源协议,声明如下:
西安艾润物联公司版本所有,保留所有版权。
本源代码仅供技术学习交流,本项目及衍生代码均不可作商业使用。