我的应用程序底部有一个垂直滑动抽屉.当软键盘打开时,它会向上推动抽屉的标签,使其位于键盘顶部.我实际上希望它保持在屏幕的底部,当键盘显示时隐藏.
其他人遇到这个问题?知道如何解决它吗?
我添加了一个有一些按钮的LinearLayOut我的屏幕是RelativeLayOut它自己
这是该线性布局管理器的代码
<LinearLayout
android:orientation="horizontal"
android:gravity="bottom"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/Footer"
android:layout_marginBottom="5dp">
Run Code Online (Sandbox Code Playgroud)
这是问题所在:
顶部有一个EditText组件,它在屏幕上弹出一个软键盘,并将我的页脚管理器放在键盘顶部,最终SHATTERS我的整个UI.
什么是确切的解决方案?
PS我已删除android:gravity="bottom"并 android:layout_alignParentBottom="true"逐一但坏运气,我没有得到期望的结果.
谢谢
假设我有以下布局:
http://i47.tinypic.com/2vchnih.png
当我点击底部的编辑文本时,我得到了这个:
http://i45.tinypic.com/352lym9.png
您可以注意到顶部的图像向上,整个布局移动.这是我的xml这个布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF" >
<LinearLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="75dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:isScrollContainer="true"
android:background="@drawable/header" >
</LinearLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/scrollauthentication"
android:layout_below="@+id/header"
android:background="#FFFFFF"
android:fillViewport="true" >
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:id="@+id/authenticationrelativelayout">
<TextView
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/header"
android:layout_marginLeft="30dp"
android:layout_marginTop="20dp"
android:text="login"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/lighter_orange"
android:textSize="28dp" />
<TextView
android:id="@+id/usernameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/login"
android:layout_below="@+id/login"
android:layout_marginTop="16dp"
android:text="username"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/dark_gray" />
<EditText
android:id="@+id/user"
android:layout_width="260dp"
android:layout_height="42dp"
android:layout_alignLeft="@+id/usernameTextView"
android:layout_below="@+id/usernameTextView"
android:background="@drawable/edittext_selector"
android:imeOptions="actionDone"
android:lines="1"
android:paddingLeft="10dp" />
<TextView
android:id="@+id/passwordTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/user"
android:layout_below="@+id/user" …Run Code Online (Sandbox Code Playgroud) 让我们假设,有一个Tree对象,具有根TreeNode对象,并且每个TreeNode都有leftNode和rightNode对象(例如BinaryTree对象)
如果我打电话:
myTree = null;
Run Code Online (Sandbox Code Playgroud)
树中相关的TreeNode对象真的会发生什么?将垃圾收集,或者我必须设置树对象内的所有相关对象?
我有一个活动来编辑一些文本,顶部栏在滚动视图内的多行模式下的EditText视图.在底部另一个视图有2个按钮.我想要实现的是编辑底部栏位于软键盘下方的文本.使用android很容易:在清单中使用windowSoftInputMode ="adjustPan".问题是如果edittext变得足够大,有几行,当编辑顶部栏时它会消失.仅在使用adjustPan模式时才会出现这种情况.但最糟糕的是,我认为这是一个错误,当光标位于edittext视图的末尾并使用D-Pad操纵杆向上滚动时,所有布局都被拉到顶部.
这是不关注EditText的屏幕:http://i.stack.imgur.com/pFadV.png
当滚动出现错误时,会发生这种情况:http://i.stack.imgur.com/eS8PP.png
我的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/BackgroundGray"
android:gravity="top|center"
android:orientation="vertical"
android:windowSoftInputMode="adjustPan" >
<RelativeLayout
android:id="@+id/top_bar"
android:layout_width="fill_parent"
android:layout_height="45dip"
android:layout_alignParentTop="true"
android:background="@drawable/top_bar"
android:focusable="true"
android:focusableInTouchMode="true" >
<ImageView
android:id="@+id/bar_item_priority"
android:layout_width="4dip"
android:layout_height="34dip"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:contentDescription="@string/priority" />
<EditText
android:id="@+id/bar_title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="6dip"
android:background="@android:color/transparent"
android:fadingEdge="vertical"
android:gravity="center_vertical|left"
android:hint="@string/default_title"
android:inputType="text|textCapSentences"
android:paddingLeft="10dip"
android:textColor="#f3f3f3"
android:textColorHint="#20ffffff"
android:textSize="20dip"
android:textStyle="bold" >
</EditText>
</RelativeLayout>
<View
android:id="@+id/main_top_bar_shadow"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_below="@+id/top_bar"
android:background="@color/TopBarShadow" />
<LinearLayout
android:id="@+id/meta_bar"
android:layout_width="fill_parent"
android:layout_height="25dip"
android:layout_below="@+id/main_top_bar_shadow"
android:background="#313435"
android:descendantFocusability="blocksDescendants" >
<TextView
android:id="@+id/meta_date_modified"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical|left"
android:paddingLeft="10dip"
android:paddingRight="10dip" …Run Code Online (Sandbox Code Playgroud) 我在活动中有以下布局。
<CoordinatorLayout ...>
<ScrollView ...>
<LinearLayout
...
android:orientation="vertical">
<!-- Some stuff -->
<EditText ...>
<!-- Some more stuff -->
<View
android:id="@+id/keyboard_extender"
...>
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/bottom_sheet"
android:orientation="vertical"
...
app:layout_behavior="android...BottomSheetBehavior">
<!-- Even more stuff -->
</LinearLayout>
</CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
我希望键盘不bottom_sheet应该向上推,但应该向上推keyboard_extender. 请注意,这bottom_sheet不是一个,BottomSheetDialog而只是一个使用android.support.design.widget.BottomSheetBehavior. 这不能更改为 aBottomSheetDialog因为我希望屏幕的其余部分与bottom_sheet
我从未将 的可见性设置bottom_sheet为View.GONE。我只能从改变其状态BottomSheetBehavior.EXPANDED,以BottomSheetBehavior.COLLAPSED和背部。另外,我希望bottom_sheet只有当键盘不可见时才可见。
由于我需要keyboard_extender始终在键盘上方,因此我在 AndroidManifest.xml 中设置了android:windowSoftInputMode="adjustResize"(我认为这是不可避免的)
我有一个方法,当调用它时应该隐藏键盘并显示bottom_sheet,但我面临的问题是在键盘开始隐藏的同时bottom_sheet开始动画BottomSheetBehavior.EXPANDED,当键盘开始隐藏时,屏幕实际上被调整大小因为windowSoftInputMode="adjustResize" …
我有一个问题,当我点击我的键盘时,我的屏幕内容没有被推高 - 而键盘只是重叠ListView了我屏幕上的所有内容(即覆盖我).这是我的布局结构:
<ScrollView>
<RelativeLayout>
</RelativeLayout>
</ScrollView>
<ListView>
</ListView>
<LinearLayout>
<EditText></EditText>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我把我嵌套RelativeLayout在一个ScrollView因为我认为这将使我的整个布局可滚动,这将"推高"所有布局,以便用户可以在键入他或她的响应时查看这些部分.我也有我的AndroidManifest.xml:android:windowSoftInputMode="adjustResize|stateVisible|stateAlwaysHidden"这是一个正在发生的事情的图像:
这是我的代码.任何帮助,将不胜感激!
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" android:fitsSystemWindows="true"
xmlns:fresco="http://schemas.android.com/tools"
android:id="@+id/comments_coordinator_layout">
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/comments_appbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/comments_coordinator_layout"
>
<RelativeLayout
android:layout_marginTop="?attr/actionBarSize"
android:id="@+id/view_post"
android:layout_width="match_parent"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:orientation="horizontal"
android:layout_height="175dp"
android:background="#e6e6e6">
<com.facebook.drawee.view.SimpleDraweeView
android:layout_marginTop="15dp"
android:id="@+id/poster_picture"
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_marginLeft="10dp"
fresco:placeholderImage="@mipmap/blank_prof_pic"
fresco:roundedCornerRadius="5dp"
/>
<TextView
android:layout_marginLeft="5dp"
android:layout_marginTop="15dp"
android:layout_toRightOf="@id/poster_picture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:textStyle="bold"
android:id="@+id/poster_name"/>
<TextView
android:layout_alignParentRight="true" …Run Code Online (Sandbox Code Playgroud) android scrollview android-layout android-softkeyboard android-listview
我的项目有软键盘问题。我已经设置了我的清单文件
android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)
这样我的键盘和 EditText 是可见的。但就像下面链接的问题一样,屏幕底部的按钮随着键盘一起向上推。
我的布局由一个带有 2 个 LinearLayout(一个顶部,一个底部带按钮)的 RelativeLayout 基础和一个位于中间的 ScrollView 组成,以获得其余的内容。当我尝试设置选项时
android:isScrollContainer="false"
Run Code Online (Sandbox Code Playgroud)
这次在我的 ScrollView 上,我的操作栏向上推并从布局中隐藏。
我想要一种方法让键盘越过底部的线性布局滚动滚动视图的内容并且不向上推操作栏。
有什么建议?
谢谢!
顺便说一下,我的滚动视图有很多微调器、EditTexts 和 AutoSuggest
工作“解决方案”--> 帮助寻找答案
如果我将 RelativeLayout 更改为具有垂直方向的 LinearLayout 并从清单中删除此属性 android:windowSoftInputMode="adjustPan" 我有我想要的效果,操作栏不会消失并且底部按钮不会向上推。问题是,我丢失了底部按钮堆叠在底部。有时 ScrollView 比设备窗口小,所以这个解决方案只是帮助了我,但现在解决了我的真正问题。
信息:
<activity
android:name=".app.HomeActivity"
android:label="@string/title_activity_home"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"/>
Run Code Online (Sandbox Code Playgroud)
申请主题:
<style name="CustomActionBarTheme" parent="@style/AppTheme">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:background">@drawable/shape_bar</item>
<item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
</style>
Run Code Online (Sandbox Code Playgroud)
XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/fragment_detalhes_pedido2_linear_top"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin" …Run Code Online (Sandbox Code Playgroud)