如何在出现软键盘时将工具栏固定在顶部

时间:2016-09-22 07:44:28

标签: android android-layout

我创建了一个聊天应用程序。我附上了截图。键盘处于活动状态时,工具栏不可见。我已尝试过堆栈溢出和其他网站的各种解决方案,但似乎没有什么对我有用。我附上了代码。请帮忙。 1.layout code:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    android:id="@+id/main_content"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <RelativeLayout
        android:id="@+id/layout_chat_container"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        tools:ignore="RtlHardcoded"
        android:layout_gravity="bottom"
        android:isScrollContainer="false"
        android:background="@color/newColor2">

        <include
            android:id="@+id/app_bar"
            layout="@layout/toolbar"
            android:layout_width="match_parent"
            android:layout_height="@dimen/toolbar_height" />
        <se.emilsjolander.stickylistheaders.StickyListHeadersListView
            android:id="@+id/list_chat_messages"
            style="@style/ListViewWithoutDividerStyle"
            android:listSelector="@android:color/transparent"
            android:fastScrollEnabled="true" />
        <ProgressBar
            android:id="@+id/progress_chat"
            style="@style/CenterProgressBarStyle"
            android:visibility="gone" />

        <LinearLayout
            android:id="@+id/layout_attachment_preview_container"
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_above="@+id/layout_chat_send_container"
            android:background="@color/colorPrimary"
            android:orientation="vertical"
            android:visibility="gone">
            <View
                android:id="@+id/divider_chat_attachments"
                style="@style/HorizontalDividerStyle" />

            <com.flock.android.quickblox.chat.ui.widget.AttachmentPreviewAdapterView
                android:id="@+id/adapter_view_attachment_preview"
                style="@style/MatchWidth" />
        </LinearLayout>
        <View
            android:id="@+id/divider_chat"
            style="@style/HorizontalDividerStyle"
            android:layout_above="@+id/layout_chat_send_container" />
        <LinearLayout
            android:id="@+id/layout_chat_send_container"
            style="@style/MatchWidth"
            android:layout_alignParentBottom="true"
            android:background="@color/colorPrimary"
            android:orientation="horizontal">
            <ImageButton
                android:id="@+id/button_chat_attachment"
                style="@style/BorderlessImageButtonStyle"
                android:contentDescription="@null"
                android:layout_gravity="center_vertical"
                android:onClick="onAttachmentsClick"
                android:src="@mipmap/ic_action_attachment"
                android:visibility="gone" />
            <EditText
                android:id="@+id/edit_chat_message"
                style="@style/WeightWidth"
                android:layout_height="wrap_content"
                android:hint="@string/chat_edit_text_hint"
                android:scrollHorizontally="false"
                android:textColorHint="@color/colorActionMode"
                android:inputType="textShortMessage|textMultiLine|textCapSentences"
                android:maxLength="1024"
                android:textColor="@color/white"
                android:layout_marginLeft="@dimen/view_margin_small"
                android:singleLine="false" />
            <ImageButton
                android:id="@+id/button_chat_send"
                style="@style/BorderlessImageButtonStyle"
                android:contentDescription="@null"
                android:layout_gravity="center_vertical"
                android:onClick="onSendChatClick"
                android:src="@mipmap/ic_sent"
                android:text="@string/chat_send" />
        </LinearLayout>
    </RelativeLayout>
</android.support.design.widget.CoordinatorLayout> 

2.Screenshots:
Before After

2 个答案:

答案 0 :(得分:3)

尝试下面的代码并确保你的布局在ScrollView中,因为adjustResize总是调整活动主窗口的大小,为屏幕上的软键盘腾出空间。

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

答案 1 :(得分:0)

如果您的代码中有

,则删除全屏活动的标记getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

检查清单中的活动代码中是否应包含android:windowSoftInputMode="stateHidden|adjustResize"

现在试试......希望有所帮助