Android Fragment 中自定义键盘如何调整布局,不挡住界面控件
2016-02-26 17:03
901 查看
如题,Android Fragment 中自定义键盘如何调整布局,不挡住界面控件????这个问题从项目开始做自定义的键盘就遇到了这个问题,我们的界面切换管理用的都是fragment,所以也就不能使用像网上说的在主配置文件AndroidManifest.xml的activity设置一个键盘弹出自动调整的属性,在fragment界面中,这完全没起作用,还有就是view的scrollBy方法,因为用的是自定义键盘又同时继承了edittext,所在在这个类里面拿不到界面布局,也就无法控制界面的大小,最后的曲折的解决方式是这样的:
1.当点击某个控件edittext时,监听他的touch事件,隐藏掉上方的部分布局,这样做的目的就是让下方弹出的键盘有足够的控件显示,且不会挡道布局下方的控件,当失去焦点时,就让隐藏的布局重新显示,代码如下:
这个会有很多限制,而且目前还未完善,有其他解决的方法的,可以告诉我,欢迎指教!
1.当点击某个控件edittext时,监听他的touch事件,隐藏掉上方的部分布局,这样做的目的就是让下方弹出的键盘有足够的控件显示,且不会挡道布局下方的控件,当失去焦点时,就让隐藏的布局重新显示,代码如下:
limitEditText.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { buyorselltitlelayout.setVisibility(View.GONE); buyorselllayout.setVisibility(View.GONE); v.performClick(); return false; } }); limitEditText .setOnFocusChangeListener(new android.view.View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { // 此处为得到焦点时的处理内容 buyorselltitlelayout.setVisibility(View.GONE); buyorselllayout.setVisibility(View.GONE); } else { // 此处为失去焦点时的处理内容 buyorselltitlelayout.setVisibility(View.VISIBLE); buyorselllayout.setVisibility(View.VISIBLE); } } });
这个会有很多限制,而且目前还未完善,有其他解决的方法的,可以告诉我,欢迎指教!
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories