`
ableouou
  • 浏览: 73605 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

软键盘弹出挤压画面的问题

阅读更多
情况,在页面的下方有一排按钮,上面分别是textview,listview:代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent" android:layout_width="match_parent"
android:background="@drawable/blacklist_spam_bg" android:orientation="vertical">




<TextView android:id="@+id/TextView01" android:layout_height="38dip"
android:background="@drawable/blacklist_spam_title" android:gravity="center_vertical"
android:layout_width="match_parent" android:text="@string/able_blacklist_title_spam"
android:textSize="18sp" android:textColor="#ff000000"></TextView>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="match_parent" android:layout_height="370dip">
<ListView android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/lv_spam_number"
android:background="#ffffffff" android:cacheColorHint="#00000000"></ListView>
</LinearLayout>


<LinearLayout android:id="@+id/LinearLayout02"
android:layout_height="wrap_content" android:layout_marginTop="5dip"
android:layout_width="match_parent">
<Button android:layout_marginLeft="8dip" android:layout_width="86dip"
android:id="@+id/btn_spam_add" android:background="@drawable/blacklist_spam_add_effect"
android:layout_height="41dip"></Button>
<Button android:id="@+id/btn_spam_import" android:layout_width="86dip"
android:layout_height="41dip" android:layout_marginLeft="18dip"
android:background="@drawable/blacklist_spam_import_effect"></Button>
<Button android:layout_marginLeft="18dip" android:layout_width="86dip"
android:id="@+id/btn_spam_delete_all" android:background="@drawable/blacklist_spam_delete_all_effect"
android:layout_height="41dip"></Button>

</LinearLayout>
</LinearLayout>


并且我们设置该activity的属性为:android:windowSoftInputMode="adjustPan"
存在问题,长按menu时,会弹出软键盘,并且,在listview中的第6第7项也就是接近软键盘弹出的上边缘的时候会存在抖动问题。

解决方法:把 activity的属性设置为:android:windowSoftInputMode="stateHidden|adjustResize" OK

附上说明:

"stateUnspecified"

软键盘的状态 (是否它是隐藏或可见 )没有被指定。系统将选择一个合适的状态或依赖于主题的设置。

这个是为了软件盘行为默认的设置。

"stateUnchanged"

软键盘被保持无论它上次是什么状态,是否可见或隐藏,当主窗口出现在前面时。

"stateHidden"

当用户选择该 Activity时,软键盘被隐藏——也就是,当用户确定导航到该 Activity时,而不是返回到它由于离开另一个 Activity。

"stateAlwaysHidden"

软键盘总是被隐藏的,当该 Activity主窗口获取焦点时。

"stateVisible"

软键盘是可见的,当那个是正常合适的时 (当用户导航到 Activity主窗口时 )。

"stateAlwaysVisible"

当用户选择这个 Activity时,软键盘是可见的——也就是,也就是,当用户确定导航到该 Activity时,而不是返回到它由于离开另一个 Activity。

"adjustUnspecified"

它不被指定是否该 Activity主 窗口调整大小以便留出软键盘的空间,或是否窗口上的内容得到屏幕上当前的焦点是可见的。系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局 视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。这个是主窗口默认的行为 设置。

"adjustResize"

该 Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间

"adjustPan"

该 Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。


分享到:
评论
3 楼 kondoh 2012-02-28  
来回复制粘贴的
2 楼 ableouou 2011-09-05  
fish007fish2003 写道
我的布局里面也有listview,遇到了同样地问题,用了你说的方法还是不行,求指教。

具体说说
1 楼 fish007fish2003 2011-08-29  
我的布局里面也有listview,遇到了同样地问题,用了你说的方法还是不行,求指教。

相关推荐

    监听软键盘的弹出与收起

    在Android开发中,软键盘的弹出与收起是一个常见的交互事件,对于界面布局和用户体验有着重要影响。本文将深入探讨如何在Android应用中监听软键盘的弹出与收起,以及实现这一功能的一些关键技术和策略。 首先,软...

    禁止软键盘弹出,自定义键盘

    在移动设备上,软键盘是用户输入文本的常见方式,但在某些特定场景下,例如游戏、全屏应用或自定义输入界面,我们可能需要禁止软键盘自动弹出,并且使用自定义键盘来替代。本教程将详细介绍如何实现这一功能。 首先...

    Android 设置一个底部控件view随着软键盘的弹出而上移

    在Android开发中,当用户在应用中输入时,软键盘的弹出可能会遮挡底部的控件,导致用户体验下降。为了改善这种情况,开发者通常需要实现一个功能,使得底部的视图(如工具栏、按钮等)能够随着软键盘的弹出而上移。...

    Android监听软键盘弹出和收起事件

    监听Android软键盘弹出和收起事件(所有代码都是抽离自facebook/react-native源码中, 亲测有效, 放心食用)。回调事件方法参数包含键盘是否弹出(isShow)、键盘高度(keyboardHeight)、屏幕可用高度(screenHeight)、屏幕...

    Android判断软键盘是否弹出

    在Android开发中,有时我们需要检测应用中的软键盘是否弹出,以便进行相应的界面调整或功能控制。例如,当用户打开虚拟键盘时,我们可能需要自动调整输入框的位置,或者在键盘隐藏时恢复原来的布局。标题“Android...

    软键盘弹出动态改变UI布局

    本示例"软键盘弹出时动态改变UI布局学习Demo"着重讲解如何处理这一常见问题,以提供良好的用户体验。 首先,我们需要理解Android中的布局管理。在默认情况下,当软键盘弹出时,Android会调整Activity的布局以适应...

    监听软键盘弹出和隐藏

    在Android开发中,监听软键盘的弹出与隐藏是一个常见的需求,特别是在开发需要自适应界面布局的App时。Google并没有提供直接的API来监听软键盘的状态变化,因此开发者需要采用一些间接的方法。以下两种方法可以帮助...

    无软键盘弹出EditText

    在Android开发中,有时我们可能需要在特定场景下防止EditText组件自动弹出软键盘,比如在全屏应用、密码输入或者底部导航栏等界面。"无软键盘弹出的EditText"是一个常见需求,主要是为了优化用户体验或者满足特殊...

    android中监听软键盘的弹出与隐藏,并获取软键盘的高度

    总的来说,监听Android软键盘的弹出与隐藏,以及获取软键盘高度,可以通过多种方式实现,开发者应根据具体需求选择合适的方法。同时,要注意兼容不同的`windowSoftInputMode`设置,以确保在各种情况下都能正确处理...

    登录按钮不被弹出软键盘覆盖

    "登录按钮不被弹出软键盘覆盖"这个问题是一个常见的用户体验问题,尤其是在Android平台上。当用户在登录页面填写用户名和密码时,如果点击输入框弹出软键盘,登录按钮可能会被键盘遮挡,导致用户无法直接看到或点击...

    点击文本框弹出软键盘

    5. 文件名称列表:“点击文本框弹出软键盘”可能是项目的主要文件,这可能包含VB或C#代码文件、资源文件(如软键盘的图像或图标)、以及项目配置文件。这些文件共同构成了实现这个功能的完整工程。 总的来说,通过...

    微信登录软键盘弹出后登录按钮自动弹起

    在软键盘弹出时,如果布局没有适当地处理这种情况,登录按钮和"登录遇到问题?"按钮可能会被键盘遮挡。为了解决这个问题,开发者通常会在布局XML文件中设置`android:windowSoftInputMode="adjustResize"`属性。这个...

    监听软键盘的弹出与收起(近乎完美的)

    在Android开发中,软键盘的弹出与收起是一个常见的需求,特别是在输入框交互和界面布局自适应时。本文将详细介绍三种实现软键盘监听的方法,帮助开发者选择最适合自己的方案。 一、方法一:使用InputMethodManager...

    QT数字软键盘,包括QLineEdit弹出

    在描述中提到的“QlineEdit弹出的部分”,指的是在用户点击QLineEdit时,弹出数字软键盘。这通常通过自定义事件处理或插件实现。开发者可以监听QLineEdit的焦点变化事件,当获得焦点时显示软键盘,失去焦点时隐藏。 ...

    监听Android系统软键盘的弹出与关闭(案例代码)

    从facebook React源码ReactRootView中抽离CustomGlobalLayoutListener,用于监听Android系统软键盘的弹出与关闭。 实现原理: 监听Android DecorView对应的GlobalLayout布局变化,从而判断是否弹出了软键盘。 其他...

    android 软键盘弹出相关的坑之解决方法

    在Android开发中,软键盘的弹出与隐藏问题常常给开发者带来困扰,尤其是在全屏模式和非全屏模式下。本文将深入探讨这些"坑"并提供相应的解决方法。 首先,我们来理解软键盘弹出的基本原理。Android系统在用户点击...

    解决Android软键盘弹出覆盖h5页面输入框问题

    解决Android软键盘弹出覆盖h5页面输入框问题 知识点一:Android软键盘弹出机理 Android软键盘弹出是Android系统中的一种输入方式,当用户触发输入框焦点时,软键盘会弹出以便用户输入内容。在h5页面中,软键盘弹出...

    监听软键盘弹出改变布局demo

    在Android开发中,软键盘的弹出与隐藏会影响到应用程序界面的布局,特别是在处理输入框时,用户可能会遇到因软键盘弹出导致底部元素被遮挡的问题。本示例"监听软键盘弹出改变布局demo"旨在解决这一问题,提供了一种...

    android 监听软键盘状态(弹起还是收起)

    下面将详细介绍如何在Android应用中监听软键盘的弹起与收起。 首先,我们需要理解Android布局高度的变化。当软键盘弹起时,屏幕可用的高度会减少,因为一部分空间被键盘占用;而当软键盘收起时,屏幕高度将恢复到...

Global site tag (gtag.js) - Google Analytics