我正在处理聊天应用程序,其中Edittext和send按钮位于底部。 活动是全屏,隐藏导航和状态栏。 当键盘成为焦点时,我需要按下edittext并发送按钮。
以下是我的活动主题和活动中的代码,用于隐藏栏并全屏显示:
decorView = getWindow().getDecorView();
uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
主题:
<style name="AppTheme_DarkStatus" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryveryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowContentTransitions">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
XMl:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/include_view"
android:isScrollContainer="true"
android:background="@android:color/white">
<com.handmark.pulltorefresh.library.PullToRefreshListView
xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:id="@+id/lv_chat"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/rl_send"
android:divider="@null"
android:fadeScrollbars="false"
android:fadingEdge="none"
android:overScrollMode="never"
android:scrollbars="none"
ptr:ptrHeaderSubTextColor="@color/c_input_text_color"
ptr:ptrHeaderTextColor="@color/c_input_text_color"
ptr:ptrOverScroll="false"
ptr:ptrPullLabel="Pull to refresh"
ptr:ptrRefreshLabel="Loading..."
ptr:ptrReleaseLabel="Release to refresh"
ptr:ptrRotateDrawableWhilePulling="true"
ptr:ptrShowIndicator="false" >
</com.handmark.pulltorefresh.library.PullToRefreshListView>
<RelativeLayout
android:id="@+id/rl_send"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/c_white"
android:gravity="center" >
<View
android:id="@+id/view_dummy"
android:layout_width="match_parent"
android:layout_height="@dimen/d_diff_p5dp"
android:background="@color/c_text_light_color" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/view_dummy"
android:layout_toLeftOf="@+id/btn_send"
android:layout_marginRight="@dimen/d_diff_5dp"
android:layout_marginLeft="@dimen/d_diff_10dp"
android:layout_marginTop="@dimen/s_diff_7sp"
android:layout_marginBottom="@dimen/s_diff_7sp"
android:background="@drawable/opawhite_rectcorner_all" android:id="@+id/relativeLayout">
<EditText
android:id="@+id/et_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/d_diff_1dp"
android:background="@null"
android:focusableInTouchMode="true"
android:maxHeight="100dp"
android:hint="Type here..."
android:maxLength="150"
android:textSize="@dimen/s_diff_16sp"
android:padding="@dimen/s_diff_6sp"
android:textColorHint="@color/c_input_text_color"
android:textColor="@color/c_black" />
</RelativeLayout>
<Textview
android:id="@+id/btn_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/c_white"
android:text="Send"
android:padding="@dimen/d_diff_5dp"
android:layout_marginRight="@dimen/d_diff_5dp"
android:gravity="center"
android:textColor="@color/c_orange_main"
android:textSize="@dimen/s_diff_16sp"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</RelativeLayout>
我想在键盘上方显示edittext并发送按钮,但它与edittext重叠。
谢谢!
答案 0 :(得分:1)
属性android:windowSoftInputMode =“adjustResize”不适用于全屏活动,您必须删除活动全屏标记才能获得调整大小调整的优势。 看到这个: A fullscreen window will ignore a value of SOFT_INPUT_ADJUST_RESIZE for the window's softInputMode field; the window will stay fullscreen and will not resize.