Android 软键盘状态并隐藏输入法的实例

发布时间 - 2026-01-11 03:06:08    点击率:

Android 软键盘状态并隐藏输入法的实例

1 软键盘状态的切换 

2 强制隐藏输入法键盘

MainActivity如下:

package cc.c; 
 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.inputmethod.InputMethodManager; 
import android.widget.Button; 
import android.widget.EditText; 
import android.app.Activity; 
import android.content.Context; 
/** 
 * Demo描述: 
 * 1 软键盘状态的切换 
 * 2 强制隐藏输入法键盘 
 */ 
public class MainActivity extends Activity { 
  private EditText mEditText; 
  private Button mButton; 
  private Context mContext; 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    init(); 
  } 
   
  private void init(){ 
    mContext=this; 
    mEditText=(EditText) findViewById(R.id.editText); 
    mButton=(Button) findViewById(R.id.button); 
    mButton.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
        //toggleInput(mContext); 
        hideInput(mContext,mEditText); 
      } 
    }); 
  } 
   
  /** 
   * 切换软键盘的状态 
   * 如当前为收起变为弹出,若当前为弹出变为收起 
   */ 
  private void toggleInput(Context context){ 
    InputMethodManager inputMethodManager = 
    (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE); 
    inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 
  } 
   
  /** 
   * 强制隐藏输入法键盘 
   */ 
  private void hideInput(Context context,View view){ 
    InputMethodManager inputMethodManager = 
    (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE); 
    inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); 
  } 
 
 
} 

main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:tools="http://schemas.android.com/tools" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:paddingBottom="@dimen/activity_vertical_margin" 
  android:paddingLeft="@dimen/activity_horizontal_margin" 
  android:paddingRight="@dimen/activity_horizontal_margin" 
  android:paddingTop="@dimen/activity_vertical_margin" 
  tools:context=".MainActivity" > 
 
  <EditText 
    android:id="@+id/editText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:hint="Input here" /> 
 
  <Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@id/editText" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="15dp" 
    android:hint="Button" /> 
 
</RelativeLayout> 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # 软键盘  # Android软键盘并隐藏切换  # Android 点击屏幕空白处收起输入法软键盘(手动打开)  # Android自定义输入法软键盘  # 弹出  # 如有  # 希望能  # 谢谢大家  # 疑问请  # private  # extends  # mContext  # mButton  # mEditText  # content  # Activity  # app  # public  # Demo  # Context  # layout  # setContentView  # main  # findViewById 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在阿里云通过域名搭建网站?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Python高阶函数应用_函数作为参数说明【指导】  jQuery中的100个技巧汇总  b2c电商网站制作流程,b2c水平综合的电商平台?  javascript读取文本节点方法小结  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  非常酷的网站设计制作软件,酷培ai教育官方网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Laravel如何使用withoutEvents方法临时禁用模型事件  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  高端企业智能建站程序:SEO优化与响应式模板定制开发  Laravel如何实现API速率限制?(Rate Limiting教程)  C++时间戳转换成日期时间的步骤和示例代码  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  网站制作壁纸教程视频,电脑壁纸网站?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  如何快速查询网站的真实建站时间?  南京网站制作费用,南京远驱官方网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何用花生壳三步快速搭建专属网站?  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  WEB开发之注册页面验证码倒计时代码的实现  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  如何快速配置高效服务器建站软件?  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  微信h5制作网站有哪些,免费微信H5页面制作工具?  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Laravel如何实现文件上传和存储?(本地与S3配置)  高防服务器如何保障网站安全无虞?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  成都网站制作公司哪家好,四川省职工服务网是做什么用?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何选择可靠的免备案建站服务器?  如何在阿里云ECS服务器部署织梦CMS网站?  免费视频制作网站,更新又快又好的免费电影网站?  Laravel如何使用Gate和Policy进行授权?(权限控制)  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  Swift开发中switch语句值绑定模式  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  太平洋网站制作公司,网络用语太平洋是什么意思?  Android自定义listview布局实现上拉加载下拉刷新功能  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Laravel Session怎么存储_Laravel Session驱动配置详解