展开

关键词

android隐藏软键盘

——华罗庚 代码 /** * 隐藏软键盘 在dialog的编辑界面时 */ public static void hideSoftKeyboard(Activity activity, View

7120

Android 软键盘遮挡解决

前言:在开发过程中难免会遇到在软键盘遮挡输入框的问题,今天来整理一下。 软键盘弹出 ? 解决问题后 解决思路: ? 思路 我们要做的就是在软键盘弹出后显示的位置为空白区域,不超过内容区域,也就是登录按钮一下。 有小伙伴提问了,除非空白区域和软键盘一样大小,如果软键盘区域大于空白区域那岂不是还有覆盖吗?对的。  那有什么解决方式吗? 答:内容区域向上移动即可。   如何知道内容区域向上移动多少呢? 首先我们是有办法获取内容区域的大小也就是高的(代码中体现),然后屏幕的高减去内容区域的高就是软键盘的高度,知道了软键盘的高度(软键盘的高度无法改变,那么只好调整内容区域距离顶部的margintop值了, activity为loginActivity activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); //这就是软键盘的高度

1.8K40
  • 广告
    关闭

    腾讯云校园大使火热招募中!

    开学季邀新,赢腾讯内推实习机会

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 软键盘的那些事

    android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。 例如:<activity android:windowSoftInputMode="stateVisible|adjustResize". . . > 在这设置的值(除"stateUnspecified 】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分(软键盘会遮挡屏幕) android:windowSoftInputMode 活动的主窗口如何与包含屏幕上的软键盘窗 例如: < activity android:windowSoftInputMode="stateVisible|adjustResize" . > 在这设置的值(除"stateUnspecified" 故而,我建议我们的配置中,统一使用如下设置: android:windowSoftInputMode=" stateAlwaysHidden | adjustPan "

    20810

    详解Android中获取软键盘状态和软键盘高度

    详解Android中获取软键盘状态和软键盘高度 应用场景 在Android应用中有时会需要获取软键盘的状态(即软键盘是显示还是隐藏)和软键盘的高度。这里列举了一些可能的应用场景。 API的困境 Android SDK中没有提供任何API来直接获取软键盘的状态和软键盘的高度,网上很多资料说InputMethodManager的isActive()方法可以获取软键盘状态,不过实际测试发现 注册布局变化监听 在Android中当软键盘由隐藏变为显示,或由显示变为隐藏时,会触发当前布局中View的全局布局变化。通过监听全局布局的变化就可以得知软键盘的状态。 Android框架提供了一个ViewTreeObserver类,它是一个View视图树的观察者类。ViewTreeObserver类中定义了一系列的公共接口(public interface)。 监听软键盘的状态变化 在获取到软键盘的状态和高度后就可以执行需要的操作了。如重新布局按钮位置,设置变量,记录当前软键盘状态和上次软键盘隐藏时间等。

    66220

    Android EditText之软键盘搜索

    一个很常见的小功能,输入信息以后,点击软键盘的回车键可以执行相关操作,比如搜索,输入关键词之后,点击软键盘的搜索按钮(回车键)就可以执行搜索操作。 android:layout_height="wrap_content" android:layout_marginLeft="@dimen/dp_10" android:layout_marginRight ="@dimen/dp_10" android:background="@null" android:ellipsize="end" android:hint="@string/search " android:imeOptions="actionSearch" android:inputType="text" android:maxLines="1" android :textSize="@dimen/sp_14"/> android:imeOptions="actionSearch" 主要是这个属性,就是把软键盘上的回车键改成搜索按钮 相关的属性值还有 2.监听按钮事件

    9620

    Android开发(45) 自定义软键盘

    -- 数字键盘 --> <Keyboard xmlns:android="http://schemas.android.com/apk/res/android" android:horizontalGap ="0dp" android:keyHeight="61dp" android:keyWidth="33%p" android:verticalGap="0dp"> <Row > <Key android:codes="49" android:keyEdgeFlags="left" android android:codes="55" android:keyEdgeFlags="left" android:keyLabel=" ; import android.text.InputType; import android.text.TextUtils; import android.view.Gravity; import android.view.View

    43000

    Android软键盘相关使用方法

    下面的东西都是复制粘贴0.0: 获取软键盘高度 //一个静态变量存储高度 public static int keyboardHeight = 0; boolean isVisiableForLast > c = Class.forName("com.android.internal.R$dimen"); Object obj = c.newInstance() addOnGlobalLayoutListener(onGlobalLayoutListener); } 键盘的打开与关闭操作: public class KeybordS { /** * 打开软键盘 InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); } /** * 关闭软键盘 private void setListenerToRootView() { final View rootView = getWindow().getDecorView().findViewById(android.R.id.content

    27630

    android-edit布局-不弹出软键盘

    http://blog.csdn.net/knxw0001/article/details/9053655

    7220

    自封装Android软键盘工具类ImeUtil

    代码如下: package net.loonggg.driving.book.util; import android.content.Context; import android.view.View ; import android.view.inputmethod.InputMethodManager; /** * 工具类ImeUtil * * @author loongggdroid * */ public class ImeUtil { /** * 显示和隐藏软键盘 View : EditText、TextView isShow : true = show , false InputMethodManager.SHOW_IMPLICIT); } else { imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } } /** * 显示软键盘 ; view.requestFocus(); imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); } /** * 隐藏软键盘

    742100

    Android 监听软键盘状态的实例详解

    Android 监听软键盘状态的实例详解 近日遇到要检测软键盘是否显示或隐藏的问题,搜了一下网上,最后找到一个很简单的,记录一下。 activityRootView.getRootView().getHeight() - activityRootView.getHeight(); if (heightDiff 100) { // 如果高度差超过100像素,就很有可能是有软键盘 ... ... do something here } } }); 但是这个依赖于Android:windowSoftInputMode=”adjustResize” imm.hideSoftInputFromWindow(editText.getWindowToken(), 0)) { imm.showSoftInput(editText,0); //软键盘已弹出 } else { //软键盘未弹出 } 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    96820

    Android开发中软键盘的显示和隐藏

    本篇内容通过操作软键盘的函数着手详细分析了隐藏或者显示软键盘的实现方法,并且对其中重要的代码做了详细分析。 一、开篇 如果有需要用到输入的地方,通常会有需要自动弹出或者收起软键盘的需求。 特别说明:本文的所有分析的源码,都是基于 Android 26 的源码。 而这不是绝对的,如果不是一个 EditText ,就必须要求这个 View 有两个属性,分别是:android:focusable="true" 和android:focusableInTouchMode 想要在页面一启动的时候就弹出键盘,可以在 Activity 上,设置 android:windowSoftInputMode 属性来完成,或者做一个延迟加载,View.postDelayed() 也是一个解决方案 3.2 如何判断软键盘是否弹出 既然 toggleSoftInput() 可以根据当前软键盘的状态,进行不同的操作,那么肯定是有办法确定当前软键盘的状态的。

    56410

    浅谈关于android软键盘弹出问题

    问题: 今天公司项目处理一个软键盘弹出的逻辑,要求点击按钮之后弹出软键盘。 editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); //弹出软键盘 imm.showSoftInput(editText,0); 在正常的一个activity按照上面是可以实现的,但是我遇到的问题是加载数据显示之后点击按钮改变了布局的显示状况,然后再想弹出软键盘 ,但是一直无法弹出键盘 通过查阅网上资料,给出的解析是在布局加载的过程中是无法弹出软键盘的,所以需要适当的延迟一下软键盘的弹出 最终代码如下: //获取焦点 editText.setFocusable 另附其他软键盘常用方法: 1.如果软键盘已弹出则隐藏,反之弹出.

    72820

    Android开发之弹出软键盘工具类简单示例

    本文实例讲述了Android开发之弹出软键盘工具类。 获取焦点,弹出软键盘 * Created by Administrator on 2016/11/1. */ public class EditTextFocusUtil { public static Timer(); //设置定时器 timer.schedule(new TimerTask() { @Override public void run() { //弹出软键盘的代码 相关内容感兴趣的读者可查看本站专题:《Android视图View技巧总结》、《Android布局layout技巧总结》、《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《 Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》及《Android控件用法总结》 希望本文所述对大家Android

    20351

    Android自定义实现漂亮的软键盘

    工作中遇到了自定义软键盘的场景,虽然简单很快就实现了,但对个别的细节不太满意。 因为细节决定成败,所以细节之处也不能忽视。 先来张效果图吧: ? key的相关属性: ? row的相关属性: ? 我对这个自定义软键盘做了个简单的封装,使用起来也很简单。 以下是我的自定义软键盘View类: package com.newcapec.visitorsystem.diyview; import android.app.Activity; import android.inputmethodservice.Keyboard boolean isShow() { return mKeyboardView.getVisibility() == View.VISIBLE; } /** * 软键盘展示 View.INVISIBLE) { mKeyboardView.setVisibility(View.VISIBLE); } } /** * 软键盘隐藏

    79810

    Android自定义View--数字软键盘

    3.jpg 参考文章: android自定义view(自定义数字键盘) 实现 首先非常感谢原作者提供的思路,参考了原文后,经过一顿修改和重构,在笔者看来,这篇所绘制的数字键盘,算是原文的进阶版。 那么原文的软键盘和笔者的软键盘有什么不同呢? 原文的键盘绘制是一个一个按钮绘制的,非常不程序员。 由于原文的绘制方法,导致原文的软键盘非常难拓展。 例如改变边距、修改键盘内容等等,需要改动大量代码 原文的软键盘是固定在屏幕底部的,点击事件也是依赖这个来写的,和我的项目需求有冲突(需求需要显示在屏幕中间,用POP的方式) 主要的实现思路原文已经做了比较细腻的描述 笔者因为会在大屏幕中心显示数字键盘,所以没法直接使用系统的软键盘,所以才决定自定义View。 其实用GridView或者其他东西拼接一个九宫格键盘会比自己从头画省很多事,笔者也只是想练练手。

    1.7K00

    Android软键盘时之ListView的变化控制

    解决办法如下 第一步 在AndroidMnanifest.xml中相应的Activity加上android:windowSoftInputMode="adjustResize"属性 注意:如果不想在一进界面就弹软键盘应该设置成 android:windowSoftInputMode="adjustResize|stateHidden" 第二步在布局文件中的ListView中加入android:transcriptMode=“normal

    39370

    Android屏蔽软键盘并且显示光标的实例详解

    Android屏蔽软键盘并且显示光标的实例详解 如果是android4.0以下,那么 editText.setInputType(InputType.TYPE_NULL); 就够了,android4.0 以上屏蔽软键盘并且有光标,需要用到。 if (android.os.Build.VERSION.SDK_INT <= 10) {//4.0以下 danielinbiti editText.setInputType(InputType.TYPE_NULL

    33921

    关闭软键盘

    Context.INPUT_METHOD_SERVICE); inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0); } Activity中设置: Android “stateUnchanged”, 软键盘被保持上次的状态。 “stateHidden”, 当用户选择该Activity时,软键盘被隐藏。 “stateAlwaysHidden”, 软键盘总是被隐藏的。 “stateVisible”,. 软键盘是可见的。 它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间, 或是否窗口上的内容得到屏幕上当前的焦点是可见的。 “adjustResize”, (压缩模式) 当软键盘弹出时,要对主窗口调整屏幕的大小以便留出软键盘的空间。

    6540

    Android笔记:软键盘弹出遮盖原来界面的布局控件

    ); 2.直接在项目的MainFest.xml中该Activity中设置: <activity android:name="com.drain.main.LoginControlActivity " android:windowSoftInputMode="adjustPan" android:screenOrientation="portrait" android 如果加上的是 android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。 :当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示   【C】stateHidden:用户选择activity时,软键盘总是被隐藏   【D】stateAlwaysHidden :当该Activity主窗口获取焦点时,软键盘也总是被隐藏的   【E】stateVisible:软键盘通常是可见的   【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

    15220

    Android 底部按钮被软键盘顶起问题解决

    <activity android:name=".MainActivity" android:exported="true" android :name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER 从大的方向来说可以通过修改 windowSoftInputMode 来设置布局对软键盘的处理方式,当然也可以通过监听软键盘,这种修改的细粒度更小。 findViewById<View>(android.R.id.content)?. setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN) } } 资料借鉴 Android中Activity的android

    34420

    扫码关注腾讯云开发者

    领取腾讯云代金券