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

Android开发常用的知识点

所以可以先判断是否已经为横屏了,如果不是再旋转,不会让用户觉得转的莫名其妙啦!...要添加 android:layerType="software"关闭硬件加速 否则显示为实线 获取屏幕宽高 Resources.getSystem().getDisplayMetrics().density..." //密码输完后 把焦点放到登录按钮上 android:imeOptions="actionDone" android:nextFocusForward="@+id/login_button" 但是这样并没有点击登录...stateAlwaysHidden 当该Activity主窗口获取焦点时,软键盘总是被隐藏的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。...stateAlwaysVisible 当该Activity主窗口获取焦点时,软键盘总是显示的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。

2.6K10

当你刷新RecyclerView程序崩掉的时候

我们知道android:animateLayoutChanges="true"是在列表增删Item的时候调用系统自带的动画效果,而RecyclerView的机制是对子视图的复用,不会在真正意义上对Item...item中获取焦点的控件使之无法销毁 ?...图片截自StackOverFlow 从回答中,我们可以看到,在多个Item包含EditText的时候,因为其中一个EditText抢占了RecyclerView的焦点,导致无法被回收,所以报错。...其解决方法为给RecyclerView添加focusableInTouchMode属性,使之在触摸模式下(手指接触屏幕)依然可以获取到焦点,从而对Item进行回收刷新。...其解决方法是:将列表清空的方法放到获取到接口数据以后执行。 以上就是本文的所有内容,对于上述解决方法的理解存在“主观臆断”的倾向,因此本文仅供参考,若有错误的地方,欢迎大家在文章下方评论指正!

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

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

    而后者,显然是针对触屏情况下的,也就是我们点击屏幕的上的某个控件时,不要立即执行相应的点击逻辑,而是先显示焦点(即控件被选中),再点击才执行逻辑。...android:focusable=“true”不会改变android:focusableInTouchMode,因此只在键盘状态下显示焦点,在TouchMode状态下,依旧无法显示焦点。...(FOCUS_AFTER_DESCENDANTS); 问题定义:比如我们有EditText,由一个switch控制,当switch关闭时,editText可以输入,有焦点,否则无法点击,无焦点。...将这些输入框放在同一个线性布局里,然后利用 setDescendantFocusability() 方法,设置子类控件与viewgroup之间的焦点关系。...isInTouchMode(); clearFocusInternal(null, true, refocus); } 这里的意思是,如果焦点可用,或者非触控模式下,焦点会尝试将焦点放在第一个可以对焦的视图上

    1.2K20

    SQLite实时增删改查

    ",new String[]{name,age}); 否则会出现如下问题 ﹕ FATAL EXCEPTION: main android.database.sqlite.SQLiteException...,new String[]{newName,newAge,oldName}); 至于要调用那些增删改查的方法,实质上就是在拼接这些基本语句,只要掌握住这些基本语句,那些方法要传什么参数也就很好理解了 上述的语句是根本...oldName});//更新一条数据 实例展示: 先看一下我的实例运行效果吧,实现了增删改查并且实时刷新的功能,以及item 的点击事件 item点击时,弹出所选中的姓名和年龄: 如查询一条语句,并且显示出来...: 如果所查询的语句不存在,则在显示搜索结果的地方显示未搜索到结果 增加一条数据和删除一条数据以及更新一条语句都可以进行实时更新,不需要手动刷新 实例源码: 只给效果图不给源码的不是好博主,上源码:...,所以还需要自定义适配器adapter public class MySQLRecyclerViewAdapter extends RecyclerView.AdapterRecyclerView.ViewHolder

    1.2K30

    Android富文本开发

    压缩后的图片大小应该和用来展示它的控件大小相近,在一个很小的ImageView上显示一张超大的图片不会带来任何视觉上的好处,但却会占用相当多宝贵的内存,而且在性能上还可能会带来负面影响。...如果设置为true则表示decode函数不会生成bitmap对象,仅是将图像相关的参数填充到option对象里,这样我们就可以在不生成bitmap而获取到图像的相关参数了。...第一次:设置为true则表示decode函数不会生成bitmap对象,仅是将图像相关的参数填充到option对象里,这样我们就可以在不生成bitmap而获取到图像的相关参数。...对于光标前面的字符串保留,设置给当前获得焦点的EditText(此为分割出来的第一个EditText) 把光标后面的字符串放在新创建的EditText中(此为分割出来的第二个EditText) 在第二个...:windowSoftInputMode="stateAlwaysHidden" (效果:软键盘不弹出,光标显示在第一个输入框中) 需求2:editText不获取焦点,当然软键盘不会主动弹出(光标也不显示

    8.5K20

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

    而在触摸设备上通常默认情况下只有EditText控件才具有焦点,而我们通常会遇到的一个问题就是当进入一个具有EditText的界面时键盘就会自动弹出,而且有时候可能无法消失,但需求可能是进入时不弹出键盘...: public void clearFocus() 清除视图的焦点时,会激发视图的onFocusChanged的调用,并且往上遍历调用clearChildFocus 将mFocued的值置空,然后再从根视图中再次遍历将某个最佳的视图设置成为焦点视图...下面的函数用来查找具有焦点的视图,如果是View则判断自己是否有焦点,如果是ViewGroup则自己就是焦点返回自己,否则返回儿子视图里面的焦点视图。...如果是ViewGroup则根据setDescendantFocusability中的规则进行:如果是阻止子视图则自己进行焦点的获取,否则就按规则先子节点或者后子节点。...解决的方案是把EditText的一个祖先视图也设置为可获取焦点的视图(setFocusable(true)),并且将这个祖先视图的setDescendantFocusability设置为FOCUS_BEFORE_DESCENDANTS

    2.6K20

    Android EditText详解

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

    1.8K20

    基于滑动场景解析RecyclerView的回收复用机制原理

    先向下再向下.png 在第二个问题操作的基础上,目前已经创建了15个 ViewHolder,此时显示的是第1、2行的卡位,那么继续向下滑动两次,这个过程的日志如下: ?...日志.png 红框1是第二个问题操作的日志,在这里截出来只是为了显示接下去的日志是在上面的基础上继续操作的; 红框2就是第一次向下滑时的日志,对比问题2的日志,这次第三行的5个卡位用的 ViewHolder...在目前显示1、2行, ViewHolder 的个数为10个的基础上,第三行的5个新卡位要显示出来都需要重新创建 ViewHolder,也就是说,在这个向下滑动的过程,是5个新卡位的复用机制先进行工作,...Recycler mAttachedScrap: 用于缓存显示在屏幕上的 item 的 ViewHolder,场景好像是 RecyclerView 在 onLayout 时会先把 children 都移除掉...而这个 id 并不是我们在 xml 中设置的 android:id, 而是 Adapter 持有的一个属性,默认是不会使用这个属性的,所以这个第5步其实是不会执行的,除非我们重写了 Adapter 的

    3K60

    偷懒新姿势,打造属于RecyclerView的万能适配器Adapter和ViewHolder

    前言 昨天开始接触江湖口碑很好的RecyclerView,事实上,我已经被她的强大所征服了!资源回收,数据绑定,布局显示,分割线,Item动画多个模块高度解耦,灵活优雅。...因此我们发现,这个adapter的核心代码在与onBindViewHolder()中,作用是将数据跟视图(ViewHolder)绑定,可以给子类提供一个bindData()抽象方法。...重头戏在ViewHolder上!RecyclerView强制我们使用ViewHolder模式,然而缺不可避免地要写findViewById代码,有没有办法不写这样的代码呢?...(int viewId) { return (ImageButton) getView(viewId); } public EditText...getEditText(int viewId) { return (EditText) getView(viewId); }

    1.4K60

    EditText光标不会往后挪动的方法,edittext 禁止点击,点击后没有软键盘;挂载,byte 进制转化,byte中出现负数,EditText属性

    解决EditText在光标位置插入字符串,光标不会往后挪动的方法 keyStr = String.valueOf(keyCode); // keyBoardEt.setText...,不可点击; 我的代码,失去焦点,点击后没有软键盘 EditText android:enabled="false" android:focusableInTouchMode...--限制EditText只允许单行输入,而且不会滚动--> 设置文字间隔,设置英文字母大写类型 android:textScaleX="1.5" 显示,例如设置以下值: "start"省略号显示在开头, "end"省略号显示在结尾,"middle"省略号显示在中间, "marquee"以跑马灯的方式显示(动画横向移动...--设置文本位置,如设置成"center",文本将居中显示--> EditText设置不可点击事件 android:focusable="false" //这是不能点击 android:enabled=

    7200

    我的2017年总结笔记整理

    release 版,那么 AS 是无法将项目跑到盒子上的,需要先将系统应用删除后才可以正常开发。...即使我们对子控件设置了 layout_marginTop = -10dp,来将子控件往上移到父控件的上边界,虽然子控件实际位置确实是往上移了,但是在这个 10dp 的区域内是不会绘制的,也就是说子控件上面...10dp 部分是被遮住了,不会显示出来的。...-----StrikethroughSpan 下划线----------UnderlineSpan 图片-------------ImageSpan 5.merge 标签注意事项 merge 必须放在布局文件的根节点上...Q2:在这个过程中,为什么当 RecyclerView 再次向上滑动重新显示第一行的5个卡位时,只有后面3个卡位触发了 onBindViewHolder() 方法,重新绑定数据呢?

    758110

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

    前言 Android开发中,EditText的使用 非常常见 本文将手把手教你做一款 附带一键删除功能 & 自定义样式丰富的 SuperEditText控件,希望你们会喜欢。 ?...本身的方法来确定是否显示删除图标 * 监听方法:onTextChanged() & onFocusChanged() * 调用时刻:当输入框内容变化时 & 焦点发生变化时...的焦点,即是否选中 // setDeleteIconVisible() = 根据传入的是否选中 & 是否有输入来判断是否显示删除图标->>关注1 } @Override...的焦点,即是否选中 // setDeleteIconVisible() = 根据传入的是否选中 & 是否有输入来判断是否显示删除图标->>关注1 } @Override...总结 相信你一定会喜欢上 这款简单 & 好用的SuperEditText控件 已在Github上开源:Super_EditText,欢迎 Star ! ?

    1.9K30

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

    前言 Android开发中,EditText的使用 非常常见 本文将手把手教你做一款 附带一键删除功能 & 自定义样式丰富的 SuperEditText控件,希望你们会喜欢。...本身的方法来确定是否显示删除图标 * 监听方法:onTextChanged() & onFocusChanged() * 调用时刻:当输入框内容变化时 & 焦点发生变化时...的焦点,即是否选中 // setDeleteIconVisible() = 根据传入的是否选中 & 是否有输入来判断是否显示删除图标->>关注1 } @Override...的焦点,即是否选中 // setDeleteIconVisible() = 根据传入的是否选中 & 是否有输入来判断是否显示删除图标->>关注1 } @Override...总结 相信你一定会喜欢上 这款简单 & 好用的SuperEditText控件 已在Github上开源:Super_EditText

    1.3K30
    领券