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

自定义键盘(二)

不知道你有没有注意到应用市场上有这样一类app:第三方输入法app,比如讯飞输入法,搜狗输入法; 第三方输入法app:设置完成之后,手机上所有的输入框都会弹出第三方键盘。..."复制代码 让系统键盘不弹出来 3.3动态绑定输入框 系统的输入框是当EditText获取焦点的时候会弹出来,所以这里我们要给传递进来的EditText设置焦点改变监听,通过焦点改变来显示键盘。...) view; showSoftKeyboard(); } } });复制代码 这里有一点需要注意,我们点击确定按钮的时候,当前获取焦点的EditText...这就需要我们在我们传递过来的布局文件中添加一个宽高是0的EditText。让用户点击完成的时候,这个EditText获取焦点。...3.5没有耦合,使用方便,尽可能让原生属性有效 这就需要我们用EditText,获取他的属性,然后根据属性去设置键盘的变换 3.6键盘特殊按钮监听 我们写一个外部回调方法即可实现这个需求。

97520

Android富文本开发

图片提供按钮操作 软键盘删除键可删除图片,也可以删除文字内容 文字可以修改属性,比如加粗,对齐,下划线 根据富文本作出以下分析 使用原生控件,可插入图片、文字界面不能用一个EditText来做,需要使用...如果一个富文本是:文字1+图片1+文字2+文字3+图片3+图片4;那么使用LinearLayout包含多个EditText实现的难点: 如何处理记录当前的焦点区域 如何处理在文字区域的中间位置插入ImageView...如果只是对受到影响的view添加动画,可以通过设置view的高度使之显示和隐藏,还可以利用ScrollView通过滚动隐藏和显示动画,但其他受影响的view则比较难处理,最终选择布局动画LayoutTransition...设置文本选中内容加粗模式,代码如下所示,可以看到这里只需要传递一个lastFocusEdit对象即可,这个对象是最近被聚焦的EditText。...stateUnchanged-不改变状态:当前界面软键盘状态由上个界面软键盘的状态决定; stateHidden-隐藏状态:进入页面,无论是否有输入需求,软键盘是隐藏的,但是如果跳转到下一个页面软键盘是展示的

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

    众里寻他千百度—Appium Android 元素定位方式

    思考 如果安装的版本最新的包,或者升级到了最新的版本,则启动后没有升级弹窗元素该如何处理? 跳过引导页面首次启动和非首次启动场景该如何处理?...获取用户名密码输入框和登录按钮的元素id属性,另外要考虑启动时App之前是否登录过账号,已经登录过和未登录场景流程不一样。...driver.find_element_by_id('com.tal.kaoyan:id/activity_usercenter_username').click() login() 注意: 使用Appium做了输入操作之后,如果出现输入法无法唤起...,可以在系统设置——语言和输入法——将当前输入法替换为系统输入法或者其他输入法。...测试案例1 在新用户注册界面点击添加头像按钮后,选择指定的图片保存作为头像。

    1.1K30

    【快速解决】Android Button页面跳转功能

    123456 if(username.equals("lsl")&&password.equals("123456")){ //如果正确的话...)) { // 如果用户名和密码正确,跳转到MainActivity2页面 intent = new Intent(MainActivity.this...为按钮(mBtnLogin)设置了点击事件监听器(OnClickListener),当按钮被点击时执行相应的逻辑。...在点击事件中,获取用户名和密码输入框中的文本内容,并进行判断,如果用户名和密码匹配,则跳转到MainActivity2页面,否则可以进行登录失败的处理。 通过上面两步就可以完成简单的跳转功能实现了。...需要注意的地方 不过我们要注意的是,按钮的id也就是按钮对应的名称要和你定义的一样。 这里我将我按钮对应的id代码所在的xml文件全部奉上。 <?

    18010

    Android训练课程(Android Training) - 构建你的第一个应用

    这个课程的进度描述不适用于早期的版本。 如果你还没有完成这些任务,开始下载 Android SDK 并且跟随安装步骤。一旦你已经完成了安装,你就准备好开始这个课程了。...这个样子对于这个按钮还很好,但是对文本框就不那么好了,因为用户本可以输入一些更长一些的内容。那么比较好的情形是实用文本框填充满未使用的屏幕宽度。...这样,为了在你的布局里使EditText元素填满剩余的空间,给他一个weight等于1的值并且,让不为按钮设置任何weight。...EditText组件被设置了layout weight,这样填满 LinearLayout.的剩余的空间。 下面是你完成后的布局文件: 如果你没有使用最后版本的ADT插件,你的activity可能看起来有点不同。确保你安装最后版本的ADT 插件 来完成这个练习。

    2.2K00

    Android EditText使用详解-包含很多教程上看不到的功能演示

    手机中发短信打电话是必不可少的,所以用于专门输入电话号码的文本框也是大有用途,有了他我们对是否是电话号码的校验就容易的多了(因为字符是正确的,只要校验格式 ).通过设置android:phoneNumber...五:为文本指定特定的软键盘类型 前面我们通过指定为电话号码特定格式,然后键盘类型变成了拨号专用的键盘,这个是自动变的,其实我们也可以通 过android:inputType来设置文本的类型,让输入法选择合适的软键盘的...比如,在一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的Enter键显示的是“完成”文本,看着不太合适,不符合搜索的语义,如果能显示“搜索”两个字或者显示一个表示搜索的图标多好...actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT 效果: ?...可以通过输入文字和点击下面的按钮测试。 八:小结 这结详细介绍了EditText的大部分特性和常用功能,如常用的密码框,获取值等等。这几天忙的没更新,这次更新个长的。可以够消化一阵子的。

    3.9K20

    Android系列之Activity的传值和回传值

    )方法来传入一个Intent对象,这个Intent对象我们可以精确的指定我们需要跳转的Activity上,或者通过Intent对象来 指定我们要完成的一个action操作。...我们来看看如何在Activity对象中进行值的传递,也是通过 Intent 对象的各种putExtra方法来进行传递: MainActivity: public class MainActivity extends...例如,我们希望完成下面一个功能,在MainActivity上,写上一个算术表达式,然后跳转到到第二个SecondActivity上,在这个 Activity上将第一个Activity的表达式显示出来,然后我们可以输入我们的算术表达式结果...startActivityForResult这个方法, * 第一个参数是Intent对象,第二个参数是一个requestCode值,如果有多个按钮都要启动Activity,则requestCode标志着每个按钮所启动的...,如果都是跳转到同一个Activity对象上,我们需要对其进行标志,才知道是哪个Activity对象跳转过来的。

    2K30

    Android开发 经验技巧汇总(基于Android Studio)(二)

    实现 方法二:通过单元测试实现 4.在EditText中软键盘的调起、关闭 5.禁止EditText自动弹出软键盘 6.EditText输入文本从右边开始显示 7.判断APP是否联网 8.检查网络连接状态的变化无网络时跳转到设置界面...如果你需要收到文件复制完成的时的回调,则使用如下代码 FileUtils.getInstance(Context context).copyAssetsToSD("apks","app/apks").setFileOperateCallback...4.在EditText中软键盘的调起、关闭 (1)EditText有焦点(focusable为true)阻止输入法弹出 editText.setOnTouchListener(new OnTouchListener...;//关闭软键盘 return false; }}); (2)EditText无焦点(focusable=false)时阻挡输入法弹出 public static void hideInputManager...(3)然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close() 。

    1.3K20

    Android开发笔记(三十六)展示类控件

    setCompoundDrawablePadding : 设置图形与文本的间距。 3、对该控件(或视图)截图。需要先设置绘图缓存可用,然后取出该控件的绘图缓存完成截图操作。...setHintTextColor : 设置提示文本的颜色。 在录入用户信息时(比如输入姓名、密码等等),EditText输入回车键,常常不要换行而是让光标直接跳到下一个编辑框。...于是我们得通过输入法工具类InputMethodManager来协助,该类的对象从系统服务Context.INPUT_METHOD_SERVICE中获取。...常用的取值说明包括:fitXY表示拉伸图片正好填满视图(图片可能被拉伸变形),fitStart表示拉伸图片使之位于视图上部,fitCenter表示拉伸图片使之位于视图中间,fitEnd表示拉伸图片使之位于视图下部...,center表示保持图片原尺寸使之位于视图中间,centerCrop表示拉伸图片并使视图位于图片中间,centerInside表示使图片位于视图中间(只压不拉)。

    1.5K30

    高仿Android「填空题」控件:手撸一个炫酷的View动效!

    但是,他们都存在一些问题,比如 1.非嵌入式的输入,需要在外部提供一个可输入的EditText 2.虽然是嵌入式的输入,但是可编辑文字必须要固定长度,不能根据文字长短动态变化 总而言之,就是体验还是不够好...1.首先,最简单的功能:显示文字 2.其次,实现文字点击,并弹出输入法 3.再次,接收输入法输入 4.最后,光标与文字的输入和删除 1. 如何显示文字?...而在绘制文字的过程中,我们可以将可编辑文字段的坐标信息记录下来,那么在点击的时候,就可以判断有没有触摸碰撞,如果有,那么就可以弹出输入法。...通常,需要一个可输入文字的控件时,我们很少自己去定义一个控件,而是直接使用EditText,以至于我们几乎认为只有EditText可以接收输入法输入。...commitText,输入法输入时,会通过这个方法将文字传输给控件 4.光标 1)绘制 普通的EditText在输入时,都会有一个光标,用于表示输入或删除的位置。

    1.7K30

    MVVM项目实战之路-搭建一个登录界面

    2.png 需求很简单:用户输入用户名,密码,点击登录按钮后调用接口进行检查,成功则跳转到下一个界面,失败则提示错误信息。 废话不多说,It`s time to show code!...,它使我们的对象变得可观测,即修改界面上的值,对应的loginName和loginPass的值就会改变,反之亦然。...login()方法由点击登录按钮后触发,这里注意,因为loginName和loginPass已经与我们的视图文件绑定在一起了,所以就不用在调用的时候从EditText获取文本内容再传进来了。...梳理一下逻辑: 点击登录按钮后,会调用LoginViewModel中的login()方法,进行参数的检查,如果参数不合法,为mSnackbarText设置对应的文案提示,因为我们在Activity已经监测了...,在检查参数这里写的比较简单,其实应该用接口来检验,这又牵扯到一层封装,这里暂时先不写。

    2.2K70

    android之编辑框限定范围

    登陆界面里我们通常都需要限定用户输入数据的范围,如出生日期,密码长度……这些设置我们早已在pc上熟悉得不得了,然而今天我们讲讲如何在android里设置编辑框的范围。...然后,如果你要设置数值的大小范围或者字符串的长度范围,那就需要我们在代码里面设置了,我们需要为EditText添加TextWatcher监听器,该监听器最重要的方法就是afterTextChanged,...)); if(tempNum>100) s.replace(0, s.length(), "100"); else return; } }); 最后,如果我们想改变弹出的软键盘右下角按钮的名称...,可以在IME Options里设置,如 默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框,保持软键盘 image.png 设置 android:imeOptions="actionDone..." ,软键盘下方变成“完成”,点击后光标保持在原来的输入框上,并且软键盘关闭 image.png android:imeOptions="actionSend" 软键盘下方变成“发送”,点击后光标移动下一个

    1.6K30

    基于python的appium例子

    注意:如果找不到符合条件的控件,会抛出异常。...:Android如果要正确输入,需要把使用系统自带的输入法,第三方输入法无法正确输入。...#模拟点击返回键 driver.press_keycode(4)#其中按钮的定义,由Android里的KeyEvent.java里定义的,所以其它的Android按钮也是支持的。...#关闭driver driver.quit() ''' 注意:一定要记得关闭driver, 否则下次连接的时候可能会出异常,因为Appium以为你上次未关闭,会创建Session失败。...在连好手机的情况下点击这个按钮,界面上就会显示出当前手机的页面(如果是锁屏状态则显示黑屏) ? 左上角一共四个按钮,作用分别是打开本地文件、dump页面、dump压缩格式的页面、保存; ?

    2.2K30

    超全的Android组件及UI框架

    findViewById(id) 找到该组件 android:background    为组件设置一个背景图片或者背景色 android:layout_width    布局的宽度,通常不直接写数字值...居中设置 android:layout_centerHorizontal 如果为true,将该控件的置于水平居中; android:layout_centerVertical 如果为true,将该控件的置于垂直居中...checked android:checked 设置或获取 RadioButton 的选中状态 如果 RadioButton 未选中,那么点击它可以让它选中,但反过来是不可以的,就是不能从选中状态到未选中状态...CheckBox 复选框 7.1 常用属性 Android CheckBox (复选框) 继承自 Button ,可以说是只有两种状态的按钮 (选中或未选中状态) 可以把多个 CheckBox 放在一起实现同时选中多项...,但是,记住,它们之间没有任何关系,一个的选中并不会影响另一个选中或者不选中 CheckBox 除了从 Button 继承而来的属性外,没有自己的属性,但从 CompoundButton 继承了一个属性

    6.2K30

    Android文件读写和使用SharedPreferences储存数据

    TextUtils.isEmpty(str)) // 如果字符串不空,返回这个字符串 { return str; } else...主要是一些Java中的文件操作,如果不熟悉的话可以去网上找一些教程。在 onDestroy 方法中调用 saveText 来储存 EditText 中的数据。...() 方法提交数据,完成储存。...如果你是第一次运行程序,那么你的界面应该是这样的。输入账户和密码,单击记住密码: ? 点击登录按钮。然后完全退出程序,再次启动程序: ?...当然,这里的代码还有很多不足之处,比如没有实现用户名和密码检测,没有对空的用户名和密码进行处理,有兴趣的小伙伴们可以自己实现。 如果博客中有什么不正确的地方,还请多多指点。 谢谢观看。。。

    2K10

    安卓应用安全指南 5.1 创建密码输入界面

    5) 当显示虚拟密码,并按下“显示密码”按钮时,清除最后输入的密码并提供输入新密码的状态。...此外,如果存在以纯文本显示的选项,则还需要为系统准备,来自动取消纯文本显示,如设置纯文本显示的时间。密码纯文本显示的限制,在未来版本的另一篇文章中发布。因此,密码纯文本显示的限制不包含在示例代码中。...另一个是 ID 存在,但密码不正确。 如果这两种情况中的任何一种,有所区分并显示在登录失败消息中,则攻击者可以猜测指定的 ID 是否存在。...消息示例:登录 ID 或密码不正确。 自动登录功能 存在一个功能,可以完成成功登录过程一次后,通过省略下次登录的 ID /密码输入来执行自动登录。自动登录功能可以省去复杂的输入。...设置 -> 安全 -> 使密码可见 打开“使密码可见”设置时,最后输入的字符以纯文本显示。 经过一定的时间(约两秒),或输入下一个字符后,以纯文本显示的字符将被屏蔽。 关闭时,输入后会立即屏蔽。

    1.2K20
    领券