gpt4 book ai didi

android - 键盘隐藏 ListView 内容

转载 作者:太空狗 更新时间:2023-10-29 13:35:18 26 4
gpt4 key购买 nike

当键盘可见时,我看不到 ListView 前几行的内容。

我花了一天时间尝试各种布局代码以及我自己的布局代码来解决这个问题,现在我对这个问题有了更多的了解,可以帮助别人帮助我解决它。

问题是,如果我将 ListView (或其容器)的高度指定为 fill_parent,那么这会使 android 认为 ListView 的底部(屏幕底部)是显示在键盘上方的部分,即使那里没有实际内容可以显示。由于某种原因,我不能事件滚动到我的列表内容的开头。指定仅包装内容仅显示一个小区域,按预期显示列表。

这是我最新的布局代码(所有尝试都会产生相同的问题)

 <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/RelativeLayoutchat"
>
<LinearLayout
android:orientation="horizontal"
android:gravity ="clip_horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true">
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ListView
android:id="@+id/MessagesListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:transcriptMode="alwaysScroll"
android:divider="#000000"
android:clickable="false"
android:layout_weight="9"
android:cacheColorHint="#00000000"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
style="@android:style/ButtonBar"
android:gravity="center"
android:paddingLeft="3dip"
android:paddingTop="3dip"
android:paddingRight="3dip">
<EditText
android:id="@+id/msgBox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:maxLines="5"
android:enabled="true"
android:textSize="17sp"
android:maxLength="150"/>
<Button
android:id="@+id/sendbutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="send"
android:layout_weight="4"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>

非常感谢任何帮助。

最佳答案

我遇到了同样的问题,并用下面的代码解决了这个问题。

在您的 Activity 中:

mylistview.setTranscriptMode(ListView.TRANSCRIPT_MODE_NORMAL);
mylistview.setStackFromBottom(true);

或在 xml 文件中

android:stackFromBottom="true"
android:transcriptMode="normal"

并在 list 文件中保留 adjustResize Activity 。

<activity .... android:windowSoftInputMode="stateHidden|adjustResize" ..../>

来源:Push Listview when keyboard appears without adjustPan

关于android - 键盘隐藏 ListView 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11277651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com