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

Android开发常用的知识点

系统将选择一个合适的状态或依赖于主题的设置。 stateUnchanged 当主窗口出现在前面时,软键盘被保持它上次是什么状态,无论上次是可见或隐藏。...stateHidden 当用户选择该Activity时,软键盘被隐藏——也就是说,当用户确定导航到该Activity时,不管他离开的Activity的软键盘是可见还是隐藏都会被隐藏,不过当用户离开一个...stateAlwaysHidden 当该Activity主窗口获取焦点时,软键盘总是被隐藏的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。...stateVisible 当用户导航到Activity主窗口时,软键盘是可见的。不过当用户离开一个Activity而导致另一个被覆盖的Activity显示出来时,软键盘会使用默认的设置。...stateAlwaysVisible 当该Activity主窗口获取焦点时,软键盘总是显示的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。

2.6K10

【Jetpack】DataBinding 架构组件 ⑤ ( 数据模型与视图双向绑定 | BaseObservable 实现双向绑定 | ObservableField 实现双向绑定 )

一、数据模型 Model 与视图 View 双向绑定 ---- 1、数据模型 Model 与视图 View 的单向绑定 在之前的博客中 , 将 数据模型 Model 中的 指定 Field 字段 绑定到...View 视图中的组件 , 在实际案例中 , 将 Student 类中的 String 类型的 name 字段绑定到了 布局文件中的 TextView 组件中 , 当 Student#name 字段发生了改变...组件设置值时 , 也使用该函数设置值 ; 设置了 @Bindable 注解 , 只要 student 对象中的 name 发生了变化 , 绑定的组件中的内容就会发生变化 ; /**...student.name = name Log.i("StudentViewModel", "setStudentName : ${name}") // BR 是编译时自动生成的字段...的泛型类 ; lateinit var studentObservableField: ObservableField 在构造函数中 , 创建 Student 对象 , 将其设置到

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

    Android富文本开发

    更详细的来说,监听删除键的点击的逻辑需要注意,当光标在EditText 输入中间,点击删除不进行处理正常删除;当光标在EditText首端,判断前一个控件,如果是图片控件,删除图片控件,如果是输入控件,...如何运用到插入或者删除图片场景中 向一个ViewGroup添加控件或者移除控件,这两种效果的过程是应对应于控件的显示、控件添加时其他控件的位置移动、控件的消失、控件移除时其他控件的位置移动等四种动画效果...当设置了布局动画的ViewGroup添加或者删除内部view时就会触发动画。...,ps非直接父布局没有效果) 在父布局最顶部添加一个高度为0的EditText,抢了焦点但不展示; 软键盘遮挡界面的问题 当界面中有输入框,需要弹起软键盘输入信息的时候,软键盘可能遮挡部分布局,更有甚者...stateVisible-可见状态:当设置为这个状态时,软键盘总是可见的,即使在界面上没有输入框的情况下也可以强制弹出来出来。

    8.5K20

    Android EditText详解

    2.获得“焦点”后全选组件内所有文本内容 当我们想在点击输入框获得焦点后,不是将光标移动到文本的开始或者结尾;而是 获取到输入框中所有的文本内容的话!...的EditText获得焦点后 选中的是所有文本!...、最多行、单行、多行、自动换行 EditText默认是多行显示的,并且能够自动换行,即当一行显示不完的时候,他会自动换到第二行 如图所示: [28846367.png] 我们可以对其进行限制,比如 设置最小行的行数...:android:minLines="3" 或者设置EditText最大的行数:android:maxLines="3" PS:当输入内容超过maxline,文字会自动向上滚动!!...另外很多时候我们可能要限制EditText只允许单行输入,而且不会滚动,比如上面的登陆界面的 例子,我们只需要设置 android:singleLine="true" 即可实现单行输入不换行 5.设置文字间隔

    1.8K20

    Android自定义EditText:手把手教你做一款含一键删除&自定义样式的SuperEditText

    功能介绍 2.1 需求场景 对于 EditText来说,一般的需求有: 方便用户因出现输入错误而进行2次输入 标识用户正在填写项 根据具体场景增加一定的UI元素 2.2 功能需求 根据需求场景,得出EditText...功能详细设计 下面将给出详细的功能逻辑 4.1 一键清空输入字段 描述:将当前用户输入的字段清空 需求场景:方便用户因出现输入错误而进行2次输入 原型图 ?...本身的方法来确定是否显示删除图标 * 监听方法:onTextChanged() & onFocusChanged() * 调用时刻:当输入框内容变化时 & 焦点发生变化时...本身的方法来设置所有样式 * 监听方法:onTextChanged() & onFocusChanged() * 调用时刻:当输入框内容变化时 & 焦点发生变化时 */...canvas); mPaint.setColor(color); setTextColor(color); // 绘制分割线 // 需要考虑:当输入长度超过输入框时

    1.9K30

    你从未见过的EditText属性详解

    --提示的颜色--> 2.获得焦点后全选组件内所有文本内容 android:selectAllOnFocus="true" 3.限制 EditText输入类型 EditText...--设置当文字过长时,该控件该怎样显示,例如设置以下值:"start"省略号显示在开头,"end"省略号显示在结尾,"middle"省略号显示在中间,"marquee"以跑马灯的方式显示(动画横向移动)...--设置文本位置,如设置成"center",文本将居中显示--> 代码实例讲解 通过上面了解 EditText输入框的常用属性之后,结合上几讲 TextView、Button我们通过代码示例来讲解实现一个简单的登录页面效果...常用方法 1.设置焦点,光标的位置 EditText et = (EditText) findViewById(R.id.et_mobile); et.setFocusable(true); et.requestFocus...(); et.setFocusableInTouchMode(true); et.clearFocus();//失去焦点 et.requestFocus();//获取焦点 2.设置默认输入法 et.setInputType

    3.3K10

    Android自定义EditText:手把手教你做一款智能EditText(一键删除、自定义样式)

    前言 Android开发中,EditText的使用 非常常见 本文将手把手教你做一款 附带一键删除功能 & 自定义样式丰富的 SuperEditText控件,希望你们会喜欢。...功能详细设计 下面将给出详细的功能逻辑 4.1 一键清空输入字段 描述:将当前用户输入的字段清空 需求场景:方便用户因出现输入错误而进行2次输入 原型图 源码分析 /* * 步骤1:定义属性...本身的方法来确定是否显示删除图标 * 监听方法:onTextChanged() & onFocusChanged() * 调用时刻:当输入框内容变化时 & 焦点发生变化时...本身的方法来设置所有样式 * 监听方法:onTextChanged() & onFocusChanged() * 调用时刻:当输入框内容变化时 & 焦点发生变化时 */...canvas); mPaint.setColor(color); setTextColor(color); // 绘制分割线 // 需要考虑:当输入长度超过输入框时

    1.3K30

    Kotlin学习日志(六)控件使用

    ,输入类型限制,比如账号指定是纯数字、还是数字加字母,一般来说是纯数字的,纯数字要限制多少位数,如果是手机号的话需要用正则表达式来验证是否为正规的手机号,总不能你输入个13888888888,我都能让你登录上去吧...单选按钮就在水平方向上排列,该属性为vertical时,单选按钮就在垂直方向上排列,并且RadioGroup下面除了RadioButton外,也可以挂载其他子控件,如TextView、ImageView...,centerInside等同于fitCenter:当图片尺寸小于视图时,centerInside等同于center 然后代码来演示一遍 布局文件 输入数字,并且点击之后弹出数字键盘,而不是默认的文字键盘。...通过setInputType方法,可以过滤合法的输入字符,只有符合输入类型的字符,才允许接收并显示出来,而Kotlin可以直接给inputType属性设置输入类型,从而取代setInputType的方法调用

    1.8K30

    关于EditText屏蔽焦点的问题,及为什么clearFocus()方法失效了?

    我们有时候的需求时,EditText 在不需要的时候,无法点击,或者取消它的默认焦点。 我们先看看通用解决方法。...(FOCUS_AFTER_DESCENDANTS); 问题定义:比如我们有EditText,由一个switch控制,当switch关闭时,editText可以输入,有焦点,否则无法点击,无焦点。...将这些输入框放在同一个线性布局里,然后利用 setDescendantFocusability() 方法,设置子类控件与viewgroup之间的焦点关系。...总结一下,也就是我们需要在父布局处添加 触控模式为true,即就是android:focusableInTouchMode="true",这样当清除焦点的时候,就会将焦点赋给父布局,而不是重置到第一个EditText....到了现在,我们可以尝试一下,如果设置第一个输入框focusableInTouchMode为false,那么当你点击了别的输入框,然后点击switch,会发现,焦点会在第二个输入框,而不会在第一个。

    1.2K20

    Android开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)

    onTextChanged() & onFocusChanged() * 调用时刻:当输入框内容变化时 & 焦点发生变化时 */ @Override protected...的焦点,即是否选中 // setClearIconVisible() = 根据传入的是否选中 & 是否有输入来判断是否显示删除图标->>关注1 } @Override...(cursor.getCount()); // 当输入框为空 & 数据库中有搜索记录时,显示 "删除搜索记录"按钮 if (tempName.equals("") &&...当输入框为空 & 数据库中有搜索记录时,才显示 "删除搜索记录"按钮 if (tempName.equals("") && cursor.getCount() !...若存在,则不保存;若不存在,则将该搜索字段保存(插入)到数据库,并作为历史搜索记录 if (!

    3K10

    自定义键盘(二)

    不知道你有没有注意到应用市场上有这样一类app:第三方输入法app,比如讯飞输入法,搜狗输入法; 第三方输入法app:设置完成之后,手机上所有的输入框都会弹出第三方键盘。...安装第三方输入法的手机,可以在设置–高级设置-语言和输入法中找到。—-系统级别的输入法 那么有没有app级别的输入法扩展呢?..."复制代码 让系统键盘不弹出来 3.3动态绑定输入框 系统的输入框是当EditText获取焦点的时候会弹出来,所以这里我们要给传递进来的EditText设置焦点改变监听,通过焦点改变来显示键盘。...因为焦点没有改变。这就需要我们在我们传递过来的布局文件中添加一个宽高是0的EditText。让用户点击完成的时候,这个EditText获取焦点。...: android:focusable="true" android:focusableInTouchMode="true"复制代码 4.2我们可以设置这个输入框只输入数字。

    97520

    Android Focusable in Touch Mode 介绍

    当我们用手触摸屏幕选中内容后,会进入 Touch Mode; 但是当我们用触摸球左右移动(按下遥控器方向键也一样)时,就会离开 Touch Mode; 听起来似乎很简单,但是一个控件还有其他状态,当这些状态切换时...现在的安卓应用开发比那个年代要轻松多了,但是在物联网发展下,我们还要考虑智能电视等其他智能设备的这些输入情景。...EditText 默认 focusableInTouchMode 为 true,因此我们点击后它才能获取焦点,当我们设置 EditText focusableInTouchMode 为 false 时,...点击后获取不到焦点,也就无法输入。...当我们设置 ListView 的 focusableInTouchMode 为 false 时,它的 item 也无法获取不到焦点,这在有的场景下会有用处。

    1.7K60

    Android中的视图焦点Focus的详细介绍

    而在触摸设备上通常默认情况下只有EditText控件才具有焦点,而我们通常会遇到的一个问题就是当进入一个具有EditText的界面时键盘就会自动弹出,而且有时候可能无法消失,但需求可能是进入时不弹出键盘...: public void clearFocus() 清除视图的焦点时,会激发视图的onFocusChanged的调用,并且往上遍历调用clearChildFocus 将mFocued的值置空,然后再从根视图中再次遍历将某个最佳的视图设置成为焦点视图...因为默认的EditText是一个可成为焦点的视图,这样根据规则当界面展示时就会成为一个焦点视图从而弹出键盘,这样即使对EditText调用clearFocus也因为规则导致他还是焦点视图。...解决的方案是把EditText的一个祖先视图也设置为可获取焦点的视图(setFocusable(true)),并且将这个祖先视图的setDescendantFocusability设置为FOCUS_BEFORE_DESCENDANTS...这样当对EditText调用clearFocus或者对祖先视图调用reqeustFoucs时都会优先让祖先视图获得焦点。

    2.6K20

    【Android从零单排系列七】《Android视图控件——EditText》

    2.编辑框默认提示 android:hint输入框文本提示,比如我写android:hint="请输入电话号码"  3.设置边框 android:background="@drawable/edit_background... android:inputType 例如:android:inputType="textPassword"就是字符串类型的密码,输入结束后会隐藏 挑选一些比较重要的属性解释一下,除了这些其他的自行在网上搜索即可...5.默认失去焦点 1)android:focusable="false"   2)activity中设置 EditText editText = findViewById(R.id.editText...三.Activity中设置EditText属性 这里主要说下监听,监听编辑框内输入内容 EditText editText = findViewById(R.id.editText);...(20); // editText.clearFocus();//设置失去焦点事件 } } activity_edittext.xml <?

    89630

    EditText 集锦 - 开发中常用的用法及遇到的各种坑

    (加粗),italic(倾斜),normal(默认是正常字体). android:numeric //控制EditText输入数字的类型 decimal(浮点数),integer(正整数),signed...//设置文本的类型,用于帮助输入法显示合适的键盘类型. android:maxLength //设置EditText最多接受的文本的个数. android:lines //设置EditText显示的行数...如设置成1.5倍. ---- 输入法相关 设置默认输入法 有时候为了提高用户体验,在弹出输入法时需要设置默认的输入状态,比如单词应用弹出输入法时,输入法最好是在英文输入状态下。...如果是字典应用,弹出输入法时最好是在中文输入状态下,Android 并没有提供设置默认的输入状态的接口,但我们可以通过如下方法一样能够达到想要的效果: 默认中文: mEditText.setInputType...默认获取焦点 EditText 默认获取焦点,并弹出键盘,这本来是默认的行为。

    2.3K20

    EidtText

    我们将标签的android:onClick属性指定了单击事件的方法insertPic,在该方法中,随机获取gur_project_1到gur_project_10的任意一个资源的ID, 最常用的作法是将这个...使用Field.get方法获取变量时,如果是静态变量,Field.get方法的参数可以设置为null即可,如果不是静态变量,则需要为Field.get方法指定一个变量所在类的对象作为参数值。...---- 在EditText中输入特定的字符 EditText控件中可以通过多种方式指定允许输入的字符,比如指向输入0~9的数字 三种方式: android:digits属性设置为0123456789...EditText控件中的输入文本的时候会弹出系统软键盘,并且整个界面会上衣,以便显示当前正处于焦点的EditText,如果处于某种需要,不想让界面上移,可以使用getWindows().setSoftInputMode...()将输入法模式设置为WindowManager,LayoutParamas.SOFT_INPUT_ADJSUT_RESIZE. getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE

    67650

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

    然而系统软键盘即使切换到123数字模式,依旧显示包括标点符号在内的冗余按键。 2、系统软键盘固定在屏幕下方弹出,无法做为控件嵌入到页面布局中,更无法指定软键盘的显示位置。...3、系统软键盘会自动响应EditText的焦点变更事件,常常在意料之外突然之间蹦出来,弄得开发者要么剥夺EditText的焦点,要么强行关闭软键盘显示,但无论哪种方式都得开发者强行**,很不方便。...基于以上情况,要想满足这些定制需求,只能对输入法自定义软键盘了。全数字的软键盘界面倒也简单,下面先来个数字键盘的效果图。 ?...2、自定义控件的主要工作是书写自定义的控件类,自定义软键盘也不例外,有了自定义的控件类,才能处理十个数字键的按键动作,才能把软键盘做为普通的控件嵌入到其它布局文件中。...对象,即当软键盘发生按键动作时,要把按键结果显示在哪个EditText上。

    2.6K30

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

    setMovementMethod : 设置文本移动的方式,一般取值“new ScrollingMovementMethod()”,如不设置将无法拉动文本。注意该方法只能在代码中调用。...EditText EditText是文本输入框,与输入有关的属性说明如下: 在XML布局文件中指定: inputType : 指定输入的文本类型。...在录入用户信息时(比如输入姓名、密码等等),EditText输入回车键,常常不要换行而是让光标直接跳到下一个编辑框。这个场景说起来简单,开发过程中就分解为三个功能: 1、监控用户当前输入了回车键。...EditText还有一个需要特殊处理的地方,就是自动关闭软键盘。一般我们希望点击其它控件时,原输入框的软键盘就要自动消失,可惜Android不是这样处理。...另外注意centerInside,当图片尺寸大于视图时,centerInside等同于fitCenter;当图片尺寸小于视图时,centerInside等同于center。

    1.5K30

    安卓常用的控件

    EditText EditText 是一个可编辑的文本控件,用于接收用户输入。它通常用于表单、搜索框等需要用户输入文本的地方。 属性 android:hint: 设置提示文本,在用户输入前显示。...android:inputType: 设置输入类型(如文本、数字、密码等)。 android:text: 设置初始的输入文本。...属性 android:textOn: 设置开状态时的文本。 android:textOff: 设置关状态时的文本。 android:checked: 设置开关的初始状态。...创建适配器: 使用适配器将数据绑定到 ListView。 设置适配器: 将适配器设置到 ListView 上。...设置布局管理器: 选择适当的布局管理器(如 LinearLayoutManager 或 GridLayoutManager)。 设置适配器: 将适配器设置到 RecyclerView 上。

    19910
    领券