我的项目有软键盘问题。
我有一个聊天屏幕,其中有一个EditText,listview和一个发送按钮,我的Activity.Whenever Edittext获得焦点它向上移动工具栏和布局。
我需要在显示键盘的同时修复工具栏和布局。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/relheader"
android:layout_width="fill_parent"
android:layout_height="58dp"
android:background="@color/blue"
android:gravity="center"
android:isScrollContainer="false">
<android.support.v7.widget.Toolbar
android:id="@+id/customtoolbar_back"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minHeight="?attr/actionBarSize"
android:weightSum="1">
<TextView
android:id="@+id/idtextheaderprojectchatwithprivatemessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Messages"
android:textColor="@color/white"
android:textSize="20dp"
android:textStyle="bold" />
</android.support.v7.widget.Toolbar>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="75"
android:orientation="vertical">
<ListView
android:id="@+id/listViewwallpage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/relfb"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:cacheColorHint="@android:color/transparent"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:fadingEdge="none"
android:listSelector="@android:color/transparent"
android:overScrollMode="never" />
</LinearLayout>
<RelativeLayout
android:id="@+id/relfb"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="right"
android:layout_marginTop="5dp"
android:background="@drawable/edittext_top_line"
android:minHeight="42dp"
android:paddingBottom="5dp"
android:paddingTop="5dp">
<EditText
android:id="@+id/edtserach"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_toLeftOf="@+id/lin"
android:background="@drawable/greyedittext_background"
android:hint="Type something..."
android:inputType="textMultiLine"
android:maxLength="160"
android:singleLine="true"
android:textColor="#000000" />
<LinearLayout
android:id="@+id/lin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:orientation="vertical">
<TextView
android:id="@+id/tvtextcount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:hint=""
android:textSize="12sp"
android:visibility="gone" />
<Button
android:id="@+id/btnsend"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:background="@android:color/transparent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:text="Send"
android:textAllCaps="false"
android:textColor="@color/blue"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
我有工具栏的Relativelayout和listview的Linearlayout。 有什么建议?
答案 0 :(得分:0)
检查您的Activity
的清单。您可能需要重新配置如何处理输入方法。请参阅this documentation。
指定用户界面的响应方式
当输入法出现在屏幕上时,它会减少应用UI的可用空间。系统会决定如何调整UI的可见部分,但可能无法正确完成。为确保应用程序的最佳行为,您应指定系统在剩余空间中显示UI的方式。
答案 1 :(得分:0)
在AndroidManifest.xlm中涉及的活动放置:
android:windowSoftInputMode="adjustResize"
答案 2 :(得分:0)
在Manifest中:
机器人:windowSoftInputMode =&#34; stateAlwaysHidden&#34;
添加到相应的活动代码。
更改工具栏如下:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar 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="?attr/actionBarSize"
android:background="@color/apptool_bar_bg"
android:minHeight="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways|snap"
android:theme="@style/AppTheme.Toolbar"
app:titleTextAppearance="@style/AppTheme.Toolbar.Title"></android.support.v7.widget.Toolbar>
答案 3 :(得分:0)
我认为您已在活动清单中加入了android:windowSoftInputMode="adjustResize"
或android:windowSoftInputMode="adjustPan"
。
如果您在清单中添加了行,请删除这些行。