gpt4 book ai didi

android - RecyclerView 在打开软键盘时隐藏操作栏

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:55 25 4
gpt4 key购买 nike

我有以下布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/container">

<com.example.SendMessageLayout
android:id="@+id/chatMessageLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
/>

<View
android:id="@+id/separator"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_above="@id/chatMessageLayout"
android:background="@color/seperator_line_inpost"
/>

<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_above="@id/separator"
>

<android.support.v7.widget.RecyclerView
android:id="@+id/recycleView"
style="@style/BeepMeListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/chatMessageLayout"
android:layout_alignParentTop="true"
android:transcriptMode="alwaysScroll"
/>
</android.support.v4.widget.SwipeRefreshLayout>

</RelativeLayout>

虽然 SendMessageLayout 只是一个带有 EditText 和一个 Button 的布局。在旧的实现中,我使用普通的旧 ListView,所以当我请求焦点编辑文本时,键盘会出现, ListView 没有移动,第一个项目是可见的。但是有了 RecyclerView,一切都被推上去,不仅最上面的项目超出了屏幕,而且整个布局都在 ActionBar 的顶部。

这是它的样子…… RecycleView Screenshot

最佳答案

只需添加一个空的 ScrollView ,已解决:RecyclerView hides Actionbar when SoftKeyboard is opened 解决办法

像这样:

<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="match_parent"
tools:context="me.drakeet.seashell.ui.social.PostActivity">

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
</ScrollView>

<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<me.drakeet.seashell.widget.MultiSwipeRefreshLayout
android:layout_weight="1"
android:layout_marginBottom="4dp"
android:id="@+id/swipe_refresh_layout"
style="@style/BbsBackground"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.v7.widget.RecyclerView
android:id="@+id/rv_reply_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"/>

</me.drakeet.seashell.widget.MultiSwipeRefreshLayout>

<include
android:layout_gravity="bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/view_reply"/>
</LinearLayout>

</FrameLayout>

关于android - RecyclerView 在打开软键盘时隐藏操作栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27212580/

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