我创建了一个聊天应用程序。我附上了截图。键盘处于活动状态时,工具栏不可见。我已尝试过堆栈溢出和其他网站的各种解决方案,但似乎没有什么对我有用。我附上了代码。请帮忙。 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>
答案 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"
。
现在试试......希望有所帮助