300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 调用软键盘_Android 支持拖动 缩放的自定义软键盘

调用软键盘_Android 支持拖动 缩放的自定义软键盘

时间:2020-09-20 17:31:17

相关推荐

调用软键盘_Android 支持拖动 缩放的自定义软键盘

点击上方“Android技术杂货铺”,选择“标星”

干货文章,第一时间送达!

开篇

本次给大家分享的是支持拖动、缩放的自定义原生软键盘。不同于市面上的自定义软件,此键盘完全是原生实现。为什么要写这款自定义键盘,是因为在项目开发过程中,发现在弹窗输入框中调用系统输入法的时候,输入框会别严重挤上去,特别处于横屏界面时,键盘所占有的空间很大,留给用户的操作空间太小,压缩了用户的体验性。当前还没有发布到jCenter中心,如果有类似需求,请到GitHub下载该库至项目中,按需求做相应调整。

传送门:/JustinRoom/KeyboardDemo

效果图

使用方法

使用要点:

a、创建KeyBoardView实例(支持xml布局文件):

KeyBoardViewkeyboardView=newKeyBoardView(context);

b、管理所有需要使用该自定义键盘的EditText

//如果view是ViewGroup,自动查找该ViewGroup树下的所有EditText并加入管理

publicvoidaddAllInputView(Viewview)//添加某一特定的EditTextpublicvoidaddInputView(@NonNullEditTexteditText)publicvoidremoveAllInputView(Viewview)publicvoidremoveInputView(@NonNullEditTexteditText)

c、把KeyBoardView添加到ActivityFragmentDialogFragment所在的Window中:KeyUtils工具已提供了一个快速添加的方法。

KeyUtils.init(getActivity().getWindow(),keyboardView);

1、Activity、Fragment。这里以Fragment为例:

publicViewonCreateView(@NonNullLayoutInflaterinflater,@NullableViewGroupcontainer,@NullableBundlesavedInstanceState){

Viewroot=inflater.inflate(R.layout.fragment_keyboard,container,false);

keyboardView=newKeyBoardView(root.getContext());

keyboardView.addAllInputView(root);

KeyUtils.init(getActivity().getWindow(),keyboardView);

root.findViewById(R.id.btn_toggle).setOnClickListener(this);

root.findViewById(R.id.btn_dialog).setOnClickListener(this);

returnroot;

}

@Override

publicvoidonResume(){

super.onResume();

keyboardView.onResume();

}

@Override

publicvoidonPause(){

Log.i("KeyboardFragment","onPause:");

keyboardView.onPause();

super.onPause();

}

@Override

publicvoidonDestroy(){

keyboardView.onDestroy();

super.onDestroy();

}

其他实现细节请看源码:/JustinRoom/KeyboardDemo

作者:SwitchLife

链接:/p/8f3382a63f8b

本文来自SwitchLife投稿

---end---

推荐阅读:

高仿探探首页波纹扫描效果

开源一个 Android 图片压缩框架

Java8 中的Lambda 表达式详解

随手点好看年薪上百万!

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