首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android开发软键盘显示和隐藏

而很多关键的逻辑代码,都是 InputMethodManagerService 实现的。 特别说明:本文的所有分析的源码,都是基于 Android 26 的源码。...2.2 显示软键盘 InputMethodManager ,有两个方法 showSoftInput() 和 showSoftInputFromInputMethod() ,而实际上,只有 showSoftInput...2.4 切换键盘的弹出和隐藏 InputMethodManager ,还提供了一个 toggleSoftInput() 方法,如同它的名字一样,它可以让软键盘显示和隐藏之间切换。 ?...这就导致很多时候,我们代码,无法直接根据 InputMethodManager 提供的方法判断当前软键盘显示状态,这样也就无法确定调用它的时候的效果了。...在这个方法,是根据 isInputViewShow() 方法来判定当前软键盘是否处于显示弹出的状态。

2.4K10

Android显示APNG动图

三、Android显示APNG动图 这里使用了一个开源库来解析加载APNG图,apng-view 使用示例: String url = "http://xxx.png"; imageView.setOnClickListener...imageView); 效果图: [jhs51xdt38.gif] 四、apng-view源码分析 实现过程 先看看apng-view实现过程: [实现过程] (1)图片的下载/加载:通过图片加载开源库Android-Universal-Image-Loader...[batn8vbhrw.png] 源码解读 (1)prepare 先从图片文件读取这里说起,图片读取是ApngDrawable这个prepare()方法中进行的; // 文件路径:com/github...instanceof PngChunkFCTL) { fctlArrayList.add((PngChunkFCTL) chunk); // 收集帧动画控制的数据块 } } } 这个过程大体上就是解析这个...= null) apngListener.onAnimationRepeat(this); } currentFrame++; } 绘制动图的核心代码drawAnimateBitmap方法里: private

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

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

详解Android获取软键盘状态和软键盘高度 应用场景 Android应用中有时会需要获取软键盘的状态(即软键盘显示还是隐藏)和软键盘的高度。这里列举了一些可能的应用场景。...注册布局变化监听 Android软键盘由隐藏变为显示,或由显示变为隐藏时,会触发当前布局View的全局布局变化。通过监听全局布局的变化就可以得知软键盘的状态。...并不是只有显示和隐藏软键盘会触发OnGlobalLayoutListener的回调,一个View绘制完成,或者消失时都会触发OnGlobalLayoutListener的回调(由于onCreate...这时可以自行定义一个接口,主Activity软键盘状态变化进行监听,其他对软键盘状态感兴趣的类,向主Activity中注册软键盘状态变化监听。...,否则软键盘隐藏状态。

2.7K20

Android TextView显示图片的4种方式详解

1、XML文件中指定属性值 这种方式应该是最常用的了,TextView的左上右下显示图片,可用 android:drawableLeft android:drawableTop android:...="@drawable/ic_launcher" android:text="hello_world" / 这种显示方式图片跟文本是居中对齐的,此种方式对应的方法是setCompoundDrawablesWithIntrinsicBounds...start和end值是用图片来取代的文本范围,flags是用来标识 Span 范围内的文本前后输入新的字符时是否把它们也应用这个效果。...文件引用自定义控件: <com.example.imageintextview.MyTextViewandroid:layout_width="wrap_content"android:layout_height...以上就是Android TextView显示图片的4种方式,每种方式都是自己的应用场景,大家根据自己的情况选择正确的方式

5.7K20

Android View 完美实现EditText 软键盘上边的示例

此方法基于PopupWindow,适合需要回复内容时响应点击事件,打开软键盘,编辑框在软键盘上部。 优点,编辑框使用CleanEdittext,监听输入状态来更改回复按钮颜色,添加title等。...先展示效果 点击评论打开软键盘,编辑框在软键盘上部,点击其他区域消失收起软键盘: ? ? 1.BaseSelectPopupWindow 的代码。.../ 设置SelectPicPopupWindow弹出窗体动画效果 this.setAnimationStyle(R.style.AnimBottom); // 实例化一个ColorDrawable颜色半透明...; addTextChangedListener(this); } /** * 因为我们不能直接给EditText设置点击事件,所以我们用记住我们按下的位置来模拟点击事件 * 当我们按下的位置 ...(""); } } } return super.onTouchEvent(event); } /** * 当ClearEditText焦点发生变化的时候,判断里面字符串长度设置清除图标的显示与隐藏

93941

DataGrid显示图片

除了与数据源直接绑定以外,我们还可以通过列绑定模板对 DataGrid 的列进行自定义,来按照我们设定的格式显示数据。     ...例如,数据表中有一个字段 f_DemoImage 用来存放图片的路径(包括图片文件名),为了 DataGrid 的 Cell 显示实际的图片,我们可以定义一个模板列,然后给该列赋予字段 f_DemoImage...的值,就可以 DataGrid 的 Cell 显示图片。...object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面   if (Page.IsPostBack)   { }   else   {   // ...DataGrid 显示数据(包括图象):   myTableAccess oDbTable = new myTableAccess(); //myTableAccess我是定义的数据库访问类   oDbTable.sDbPath

3.3K30

PropertyGrid的枚举显示中文

本文转载:http://www.cnblogs.com/yank/archive/2011/09/17/2179598.html ropertyGrid的枚举显示中文 系统开发,经常会使用PropertyGrid...来修改或者展示某个对象的属性,如果类定义了枚举,展现的时候默认会展示枚举的项或者枚举值,但是这并不是我们想要的。...之前介绍过枚举显示中文的一篇文章,大家可以看下,枚举显示中文。 想要的效果: ? PropertyGrid枚举显示,又比较复杂一些。...本文的实现原理: TypeConverter对枚举类型进行转换,但是这个 TypeConverter针对的所有的枚举对象,所有的枚举转换器都可以采用此接口,枚举显示的时候调用TypeConverter...具体事例: 1、定义枚举:枚举中加入描述信息,作为我们需要显示的信息 public enum PKGenerator { /// ///

1K20

AndroidImageView上直接显示网络图片

ImageView,没有一个方法是可以直接显示网络的图片的,当我们经常需要显示网络图片时,每次都有一大堆的操作,这会很麻烦,今天就教大家ImageView上轻松显示网络图片。...:layout_width="match_parent" android:layout_height="match_parent" /> MainActivity上,只要调用setImageURL...()的方法把 Bitmap bitmap = BitmapFactory.decodeStream(inputStream); 改成下面的方法 Bitmap bitmap = getCompressBitmap...使用图片加载框架Glide 在这开源非常发达的时代,肯定会有大牛我们做了个种各样的开源框架,根本不需要我们做这么复杂的工作,下面就简单使用图片加载框架Glide 使用前要添加Glide的依赖库 compile...既然那么强大的开源库,我们就简单地了解它是如何使用的,先看看with()方法的源码,它可以接收6参数,所以各种情况下都能使用 public static RequestManager with

5.9K40

vmware安装Android

废话 没有废话 下载镜像 首先可以前往https://osdn.net/projects/android-x86/下载自己喜欢的镜像,这里以安卓9的镜像例 创建虚拟机 这里使用的虚拟机是VMware...将显卡穿透开启(无法勾选的先往下看) 将CD指向刚刚下载的镜像 启动虚拟机 安装系统 选择第三项 进入磁盘管理页面,选择创建 不要使用GPT 创建 选择第一个 默认就是全盘大小 将刚刚创建的设置boot...执行 输入yes,注意:s显示不出来 等待 写入完成后选择退出 选择刚刚创建好的 选择ext4 确定 等待进度条跑完 接下来选择是否需要图形界面,我这里选择是 确定 等待进度条 到这个界面先移除镜像...,再选择重启 重启后等待自动进入系统按照教程激活即可(命令行多等一会) 若没有勾选3D加速(显卡穿透)或在命令行长时间没有进入系统 安装系统重启后选择debug模式 然后就到了快乐的命令时刻 mount...-o remount,rw /mnt 然后修改/mnt/grub/menu.lst这个文件 vi /mnt/grub/menu.lst 按下i进入编辑模式 第一个启动项的quiet后面加上nomodeset

2.3K40

Android开发笔记(一百四十八)自定义输入法软键盘

然而系统软键盘即使切换到123数字模式,依旧显示包括标点符号在内的冗余按键。 2、系统软键盘固定在屏幕下方弹出,无法做为控件嵌入到页面布局,更无法指定软键盘显示位置。...那么这个软键盘又是如何实现的呢?其实它跟平常的自定义控件基本类似,只细节上有所差异,下面分步说明自定义软键盘的过程。...3、软键盘不是一个孤立的控件,它的按键动作需要实时某个编辑框把数字显示出来,所以使用时还得给它绑定一个EditText,这样软键盘才知道我的按键要输出给这个EditText,而不是输出给那个EditText...接下来阐述自定义软键盘的三个步骤,首先要定义软键盘的布局文件,res/xml目录创建名为inputkeyboard.xml的文件,内部的根节点Keyboard,其下挂了四个Row节点表示有四行,每个...xml的keycode值必须配置该字符的ASCII码 editable.insert(start, Character.toString((char) primaryCode)); }

2.4K30
领券