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

Android爬坑之旅:软键盘挡住输入框问题的终极解决方案

最基本的情况,如图所示:在页面底部有一个EditText,如果不做任何处理,那么在软键盘弹出的时候,就有可能会挡住EditText。...adjustPan是把整个界面向上平移,使输入框露出,不会改变界面的布局; adjustResize则是重新计算弹出软键盘之后的界面大小,相当于是用更少的界面区域去显示内容,输入框一般自然也就在内了。...坑来了…… 上面的入门篇中,软键盘是由原生的EditText触发弹出的。...情况描述 这时候,情况就会变得复杂了: 首先,页面是非全屏模式的情况下,给activity设置adjustPan会失效。...躲坑姿势 如前文所示,出现坑的条件是:带有WebView的activity使用了全屏模式或者adjustPan模式。

4.9K20

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

View/ViewGroup View是单个视图,所有的控件类都是从它派生出来;而ViewGroup是个视图组织,所有的布局视图类都是从它派生出来。...EditText EditText是文本输入框,与输入有关的属性说明如下: 在XML布局文件中指定: inputType : 指定输入的文本类型。...该功能有两种实现方式: 方式一:在布局文件的EditText节点中加入singleLine属性,但该方式只在视觉上起作用,真正的字符串还是带有回车换行符; android:singleLine="true...常用的取值说明包括:fitXY表示拉伸图片正好填满视图(图片可能被拉伸变形),fitStart表示拉伸图片使之位于视图上部,fitCenter表示拉伸图片使之位于视图中间,fitEnd表示拉伸图片使之位于视图下部...,center表示保持图片原尺寸使之位于视图中间,centerCrop表示拉伸图片并使视图位于图片中间,centerInside表示使图片位于视图中间(只压不拉)。

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

    Android开发(3) 可滚动的录入表单演示

    那么我们就做个这样的的布局演示吧。 本文使用的控件有: RelativeLayout 相对布局 ScrollView 滚动视图 TableLayout 表格布局 ?...底部:操作按钮 ? 实现 实现这样的布局一定要用到RelativeLayout 相对布局,我们这样指定我的布局。 1.根控件(视图)放置一个RelativeLayout 作为根控件。...底部)等。 3.分别设定上面三个控件的布局属性(或者说设置布局,对齐样式)。...="true",指定它对齐到父控件的底部 再指定中间的控件属性为: android:layout_below ="@id/toppanel" ,指示它位于某个控件下方。...该控件的好处是当它的子控件太长时,会自动出现滚动条。 下面我们为ScrollView下添加一个TableLayout,这个一个表格布局控件,使得布局非常整齐。

    1.2K00

    Android开发常用的知识点

    Activity而导致另一个被覆盖的Activity显示出来时,软键盘会使用默认的设置。...stateVisible 当用户导航到Activity主窗口时,软键盘是可见的。不过当用户离开一个Activity而导致另一个被覆盖的Activity显示出来时,软键盘会使用默认的设置。...系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。...adjustResize 该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间 adjustPan 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。...ListView有一个getChildAt()方法,参数传的不是子视图的position,而是当前显示区域的位置,所以正确的获取position位置视图的方法为 int firstVisiblePosition

    2.6K10

    Android富文本开发

    如果只是对受到影响的view添加动画,可以通过设置view的高度使之显示和隐藏,还可以利用ScrollView通过滚动隐藏和显示动画,但其他受影响的view则比较难处理,最终选择布局动画LayoutTransition...参考易车是:共n个文字,共n个图片显示 03.异常状态下保存状态信息 对于自定义View,如果页面出现异常导致自定义View异常退出,则当然希望保存一些重要的信息。...ForegroundColorSpan,BackgroundColorSpan,UnderlineSpan,StrikethrougnSpan 字符大小布局,这种类型Span会更改文本的大小和布局,会触发文本的重新测量绘制...,会将布局顶起(保证输入框不被遮挡),不压缩,而且可以软键盘不消失的情况下,手动滑出被遮挡的布局; adjustPan-默认模式:软键盘弹出,软键盘会遮挡屏幕下半部分布局,当输入框在屏幕下方布局,软键盘弹起...,会自动将当前布局顶起,保证,软键盘不遮挡当前输入框(正常布局,非scrollView父布局)。

    8.5K20

    【谷歌官方文档】1.1 建立第一个APP

    Android Studio创建项目时新建的Activity对应的xml布局文件,按照创建新项目的流程,Android Studio会同时展示这个文件的文本视图和图形化预览视图,该文件包含一些默认设置和一个显示内容为...在本小节里,我们将学习如何用 XML 创建一个带有文本输入框和按钮的界面。...以下是应该在线性布局里指定的一些属性元素: 在 content_my.xml 文件的 [] 标签内定义一个 [EditText>] 标签,并设置 id 属性为 @+id/edit_message...因为这样可以保证视图只占据内容大小的空间。如果你使用了 "match_parent",这时 EditText 将会布满整个屏幕,因为它将适应父布局的大小。参见 布局向导。...如果设置宽度为 "wrap_content",系统需要计算这个部件所占用的宽度;而此时的 EditText 因为设置了权重,所以会占据剩余空间;所以,最终导致的结果是:EditText 的宽度成了不起作用的属性

    2.4K20

    Android布局优化:include 、merge、ViewStub的详细总结

    一、include的用法以及注意点 在开发Android布局时,我们常将一些通用的视图提取到一个单独的layout文件中,然后使用标签在需要使用的其他layout布局文件中加载进来,比如我们自己...这样,便于对相同视图内容进行统一的控制管理,提高布局重用性。...include标签存在着一个不好的地方,可能会导致产生多余的布局嵌套。同样通过一个小demo来说明: 比如项目中有一个公共的登录按钮布局,如下: login.xml: 会返回一个View对象,避免了额外使用findViewById()方法获取layout视图对象。...因此这有可能导致加载出来的布局存在着多余的嵌套结构,具体如何去取舍就要根据各自的实际情况来决定了。 2,ViewStub的inflate只能被调用一次,第二次调用会抛出异常。

    2.2K50

    超全的Android组件及UI框架

    设计和代码切换,一般情况下,我们 UI 布局都是先拖再细调整,也就是先用设计默认拖出一个大概的布局,然后用代码来微调 一、常见的布局 1. ...bottom 将对象放在其容器的底部,不改变其大小.  left将对象放在其容器的左侧,不改变其大小.  right将对象放在其容器的右侧,不改变其大小. ...ImageView 图像视图 3.1 常用属性 ImageView 有 2中属性,分为为: src, backgroud,他们之间的区别是: background 通常指的都是 背景, 而 src 指的是... CompoundButton ,所以都有 Button 的属性和方法,又有 CompoundButton 的属性 android:checked 8.2 监听方法 ToggleButton 提供了一些方法用来改变或获取自身的状态和开关时的文本...不过 Switch 也拥有自己的属性,而且特别的多 9.2 监听方法 Switch 提供了一些方法用来改变或获取自身的状态和开关时的文本 10.

    6.2K30

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

    有两种方法可以将EditText显示为密码:在布局 XML 中静态指定此值,或通过从程序中切换显示来动态指定此值。...由于输入不便,用户可能会使用简单的密码,这样做会更危险。此外,当有多次密码输入失败导致帐户锁定等机制时,必须尽可能避免误输入。...5.1.2.4 显示最后输入密码时,必须显示虚拟密码(必需) 当指定最后输入的密码时,不要给第三方任何密码提示,它应该显示为带有屏蔽字符(*等)的固定位数的虚拟值。...5.1.3.3 关于“使密码可见”设置 Android 设置菜单中有一个名为“使密码可见”的设置。 在 Android 4.4 的情况下,如下所示。...设置 -> 安全 -> 使密码可见 打开“使密码可见”设置时,最后输入的字符以纯文本显示。 经过一定的时间(约两秒),或输入下一个字符后,以纯文本显示的字符将被屏蔽。 关闭时,输入后会立即屏蔽。

    1.2K20

    TextInputLayout-Android M新控件

    它显示了一个“登录”文字与两个EditText元素,一个是为用户名准备的,一个是为密码准备的。布局中还包含了一个触发登陆流程的按钮。背景颜色是扁平风格的灰色。...就如你知道的,这个属性允许你在EditText的内容为空的时候显示一个自定义的提示。一旦用户开始输入,hint会消失。这并不理想,因为用户丢失了他们输入信息的上下文提示。...一个单一的EditText 在输入文字的时候会隐藏hint,而被包含在TextInputLayout中的EditText则会让hint变成一个在EditText上方的浮动标签。...,EditText的hint会表现的跟预期一致。...并且它会改变整个EditText控件为红色。 setErrorEnabled开启错误提醒功能。这直接影响到布局的大小,增加底部padding为错误标签让出空间。

    77920

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

    前言 Android开发中,类似下图的搜索功能非常常见 ? 今天,我将手把手教大家实现一款 封装了 历史搜索记录功能 & 样式 的Android 自定义搜索框 开源库,希望你们会喜欢。 ?...先下载Demo再阅读,效果会更好:Carson_Ho的Github地址:Search_Layout 结构说明 文件类型 作用 SearchView.java 搜索框所有功能的实现 RecordSQLiteOpenHelper.java...点击返回按键后的接口回调方法 SearchListView.java 解决ListView & ScrollView的嵌套冲突 search_layout.xml 搜索框的布局 ---- 6....对于含有一键清空功能 & 更多自定义样式的EditText自定义控件具体请看我的另外一个简单 & 好用的开源组件:Android自定义EditText:手把手教你做一款含一键删除&自定义样式的SuperEditText...下一篇文章我将继续进行一些有趣的自定义View实例讲解,有兴趣可以继续关注Carson_Ho的安卓开发笔记 更多简单好用的开源库:简单 & 好用的开源组件: 自定义EditText:手把手教你做一款含一键删除

    3K10

    EditText的属性和使用方法

    一、EditText简介 EditText支持的XML属性及相关方法见TextView表中介绍的与输入有关的属性和方法,其中比较重要的一个属性是inputType,用于为EditText设置输入类型,其属性值主要有以下一些...EditText还派生了如下两个子类。 n AutoCompleteTextView:带有自动完成功能的EditText。由于该类通常需要与 Adapter结合使用,因此将会在下一章进行学习。...二、EditText示例 接下来通过一个简单的示例程序来学习EditText的常见用法。...当用户还没有输入时,该文本框内默认显示这段信息; 第二个输入框通过android:inputType="numberPassword”设置这是一个密码框,而且只能接受数字密码,用户在该文本框输入的字符会以点号代替...然后修改一下app/src/java/MainActivity.java文件中加载的布局文件为新建的edittext_layout.xml文件,修改后的代码如下: public class MainActivity

    2.6K90

    安卓第六夜 凡高的自画像

    在割掉自己的耳朵一部分后,画家给自己留下了这幅自画像。在当时,这幅画依然是无人问津。 ? 描述 我将创建一个新的Activity。这个界面允许用户输入本人的姓名和博客地址。这些输入数据将在会保存起来。...你可以在这里选择想要创建的新文件的类型,比如XML文件,Java文件等。安卓会根据你选择的类型,做一些默认设置。...这个视图的XML布局文件为activity_self_edit.xml,如下: 布局下,说明元素的相对位置。TextView就使用了layout_alignParentBottom属性,来说明它的下边缘将对齐母元素的下边缘。...onResume() 最后,用setText()方法,把新的数据加载到视图的TextView中。 运行 在"Edit Profile"中输入用户信息,提交后返回主页面,效果如下: ?

    1.2K70
    领券