当前位置: 首页 > 知识库问答 >
问题:

Android软键盘推工具栏

夹谷茂
2023-03-14

见下面的图片。当我点击编辑文本时,我的整个布局被推到顶部。结果应该是工具栏

图像 1

图片2

我的布局如下所示:

<?xml version="1.0" encoding="utf-8"?>

<android.support.percent.PercentRelativeLayout 
   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"
   tools:context=".PostDetailActivity">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    android:fitsSystemWindows="true"
    android:layout_alignParentTop="true"
    android:theme="?attr/actionBarTheme" />

<android.support.v7.widget.RecyclerView
    android:id="@+id/recycler_comments"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_heightPercent="80%"
    android:layout_below="@+id/toolbar"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:listitem="@layout/item_comment">

</android.support.v7.widget.RecyclerView>


    <LinearLayout
        android:id="@+id/comment_form"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_below="@+id/recycler_comments"
        android:weightSum="1.0"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin">


        <EditText
            android:id="@+id/field_comment_text"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.8"
            android:focusableInTouchMode="true"
            android:hint="Write a comment..."
            android:imeOptions="actionDone"
            android:maxLines="1" />

        <Button
            android:id="@+id/button_post_comment"
            style="@style/Base.Widget.AppCompat.Button.Borderless"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.2"
            android:text="Post" />

    </LinearLayout>

这是我的清单。xml文件:

android:windowSoftInputMode="stateAlwaysHidden|adjustPan"

我尝试过已经尝试过“调整大小”,但问题是我在底部的线性布局隐藏在键盘下。

那么我该怎么做呢?

共有2个答案

南宫阳冰
2023-03-14

您是否尝试过将百分比相对布局更改为协调器布局

郭永安
2023-03-14

将此添加到您的清单中

android:windowSoftInputMode="stateHidden"

Xml 布局

<?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"
    android:id="@+id/coordinatorLayoutMain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/color_background">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:fitsSystemWindows="true"
        android:theme="@style/AppTheme"
        app:elevation="0dp">

        <!-- Load the toolbar here -->
        <include
            layout="@layout/toolbar_grey"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </android.support.design.widget.AppBarLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="?attr/actionBarSize"
        android:orientation="vertical">


        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerViewUserChat"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/relativeLayoutBottom"
            android:scrollbars="vertical" />

        <RelativeLayout
            android:id="@+id/relativeLayoutBottom"
            android:layout_width="match_parent"
            android:layout_height="45dp"
            android:layout_alignParentBottom="true"
            android:background="@color/color_chat_bottom">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal"
                android:weightSum="1">

                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="10dp"
                    android:layout_weight=".80"
                    android:background="@drawable/border_white_bg"
                    android:weightSum="1">

                    <EditText
                        android:id="@+id/editTextMessage"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_marginLeft="10dp"
                        android:background="@android:color/transparent"
                        android:hint="@string/text_user_chat_hint"
                        android:inputType="textCapSentences"
                        android:singleLine="true"
                        android:textColor="@color/color_text"
                        android:textColorHint="@color/color_text"
                        android:textSize="14sp" />

                </LinearLayout>

                <TextView
                    android:id="@+id/textViewDone"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight=".20"
                    android:gravity="center"
                    android:text="@string/button_user_chat_send"
                    android:textColor="@color/color_profile_border"
                    android:textSize="14sp"
                    android:textStyle="bold"/>
            </LinearLayout>
        </RelativeLayout>


    </RelativeLayout>


</android.support.design.widget.CoordinatorLayout>
 类似资料:
  • 我有一个AutoCompleteTextView,它像往常一样在用户键入3个字母后提供建议。一旦我触摸建议列表,我想隐藏软键盘一次。我在下面用表格布局所做的只是在单击除建议列表之外的任何地方时隐藏键盘。 可扩展置标语言 爪哇岛 用于自定义列表的 XML

  • 我需要隐藏软键盘以响应单击按钮。我看到了一些关于这方面的帖子,我尝试了: 这很有效。但现在我有两个EditText视图。无论选择了哪个EditText,现在如何隐藏软键盘?我也试过了 ,但那不起作用... 谢谢你的帮助! 编辑:找到解决方案。贴在下面。

  • Android:show软键盘在点击布局底部实现的特定Edittext后自动覆盖Edittext字段的一半。当请求焦点在EditText软键盘上打开时,它将向上移动布局,但会覆盖EditText字段的一半。

  • 我试图防止在SearchView上调用requestFocus()后键盘出现,但在Android8上没有解决方案。 我试过: /*3/ /*4/ onGlobalLayout()工作,但软键盘显示了近0.5秒后消失。 即使在调用requestFocus()之后,是否可以帮助隐藏软键盘?

  • 使用操作栏导航加载第二个片段后 重新加载另一个片段,动作栏仍然是visibile 我用一个测试项目用最小的代码加载片段,行为是一样的,分裂条被软键盘隐藏。我怎样才能使它从一开始就显示拆分条?

  • 本文向大家介绍Android判断软键盘的状态和隐藏软键盘的简单实例,包括了Android判断软键盘的状态和隐藏软键盘的简单实例的使用技巧和注意事项,需要的朋友参考一下 之前本人也遇到一个关于获取软键盘的状态的问题,在网上找了很多资料,基本上回答都是用getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_