Android软件盘(一)手动显示与隐藏
来源:互联网 发布:pc端授权微信登陆java 编辑:程序博客网 时间:2024/05/20 23:35
软件盘是个头疼的问题,一会乱弹出,一会不弹出,弹出之后还各种影响布局。所以我们今天来从头到尾来研究一下软件盘的使用。
往往都是点击一个EditText自动弹出软件,再次点击则消失,那么我们如何主动来操作软件盘?
效果图:
代码如下:
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private InputMethodManager inputMethodManager; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); findViewById(R.id.bt_show).setOnClickListener(this); findViewById(R.id.bt_hide).setOnClickListener(this); editText = ((EditText) findViewById(R.id.et)); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.bt_show: /** * 第一个参数是一个View,此参数必须是一个EditText,因为你从软件输入的内容将会由这个EditText接收并显示 * 第二个参数为flag...可以填写0,SHOW_IMPLICIT,SHOW_FORCED * 源码解释说,SHOW_IMPLICIT是含蓄的请求弹出键盘,不是由用户直接请求,所以有可能不显示... * SHOW_FORCED强制弹出键盘。 * 我们一般填写0就可以了。 */ inputMethodManager.showSoftInput(editText,0); break; case R.id.bt_hide: //此方法不起作用╮(╯▽╰)╭// inputMethodManager.hideSoftInputFromInputMethod(editText.getWindowToken(), 0); /** * 第一个参数:发起调用键盘请求的View的WindowToken,也就是你showSoftInput第一个参数填了哪个EditText,这就调哪个EditText的WindowToken. * 第二个参数:隐藏标记:可以填写0,HIDE_IMPLICIT_ONLY,HIDE_NOT_ALWAYS * 与showSoftInput对应,HIDE_IMPLICIT_ONLY含蓄的通知隐藏,有可能隐藏不了。 * HIDE_NOT_ALWAYS 强制隐藏 */ inputMethodManager.hideSoftInputFromWindow(editText.getWindowToken(),0); break; } }}上述代码解决手动显示和隐藏键盘的问题。
值得注意的是:显示的时候第一个参数是View,但是普通的View并不起作用,源码中解释说需要一个可以获取焦点的View,但我们通常就是使用EditText就行。
0 0
- Android软件盘(一)手动显示与隐藏
- Android软键盘自动显示,手动控制显示与隐藏
- android 手动显示与隐藏软键盘HIDE_NOT_ALWAYS
- Android 手动显示和隐藏软键盘 (转)
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- 【Android】手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- Android 手动显示和隐藏软键盘
- 内存缓存和LruCache
- R语言基础入门之一
- 单词长度
- 堆和堆栈的区别
- RAID各级别、软RAID
- Android软件盘(一)手动显示与隐藏
- 二进制文件
- java web,从零开始,一步一步配置ssm(Spring+SpringMVC+MyBatis)框架
- 集合框架_LinkedList的特有功能
- P党福音之Variants单元
- 制作自己的库去让被人依赖,(自己造好的轮子,记得给别人用用
- C++ Primer中的陌生概念三:vector的初始化问题
- 数据库学习->1
- python yield 使用