zl程序教程

您现在的位置是:首页 >  其他

当前栏目

解决位于底端Edittext 输入时被软盘遮盖详解手机开发

输入手机开发 详解 解决 位于 EditText 软盘
2023-06-13 09:20:15 时间
遇到这种情况我们首先到网上搜一圈,大概情况是需要设置 activity/  

android:windowSoftInputMode= adjustResize ,按照以上属性设置了,问题依然存在没有解决。

通过反复试验,得出结论布局文件的layout_weight权重为影响软盘覆盖edittext。成功的xml文件如下:
 ?xml version="1.0" encoding="utf-8"? 

 LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

 android:layout_width="match_parent" 

 android:layout_height="match_parent" 

 android:background="#f4f6f5" 

 android:orientation="vertical" 

 !-- head bar -- 

 include layout="@layout/include_head_bar" / 

 ListView 

 android:id="@+id/listview" 

 android:layout_width="fill_parent" 

 android:layout_height="match_parent" 

 android:layout_weight="1" 

 android:layout_marginLeft="10.0dip" 

 android:layout_marginRight="10.0dip" 

 android:layout_marginTop="10.0dip" 

 android:cacheColorHint="#00000000" 

 android:divider="@null" 

 android:dividerHeight="5dp" 

 android:scrollbars="none" / 

 LinearLayout 

 android:layout_width="fill_parent" 

 android:layout_height="wrap_content" 

 android:layout_weight="5" 

 RelativeLayout 

 android:layout_width="fill_parent" 

 android:layout_height="wrap_content" 

 android:layout_marginBottom="5dp" 

 LinearLayout 

 android:layout_width="match_parent" 

 android:layout_height="wrap_content" 

 android:layout_alignParentBottom="true" 

 android:background="#f5f5f5" 

 ImageButton 

 android:id="@+id/btnVoice" 

 android:layout_width="wrap_content" 

 android:layout_height="wrap_content" 

 android:background="#00000000" 

 android:paddingLeft="5dp" 

 android:src="@drawable/voice" / 

 EditText 

 android:id="@+id/txtContent" 

 android:layout_width="wrap_content" 

 android:layout_height="wrap_content" 

 android:layout_gravity="left" 

 android:layout_marginLeft="5dp" 

 android:layout_weight="1" 

 android:background="@drawable/shape_consult_search" 

 android:completionThreshold="1" 

 android:hint="输入内容" 

 android:paddingLeft="8dp" 

 android:textColor="#000000" 

 android:textColorHint="#c2c2c2" 

 android:textCursorDrawable="@null" / 

 ImageButton 

 android:id="@+id/btnPic" 

 android:layout_width="wrap_content" 

 android:layout_height="wrap_content" 

 android:layout_marginLeft="5dp" 

 android:background="#00000000" 

 android:src="@drawable/pic" / 

 Button 

 android:id="@+id/btnConsult" 

 android:layout_width="wrap_content" 

 android:layout_height="40dp" 

 android:layout_marginLeft="5dp" 

 android:layout_marginRight="5dp" 

 android:background="@drawable/shape_consult_top_btn_press" 

 android:text="发送" 

 android:textColor="#ffffff" / 

 /LinearLayout 

 /RelativeLayout 

 /LinearLayout 

 /LinearLayout 

效果图:解决位于底端Edittext 输入时被软盘遮盖详解手机开发

经过反复测试,还得出另一解决方案。需要将权重比较大的组件放到相对布局文件中,请看xml布局文件
 ?xml version="1.0" encoding="utf-8"? 

 LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

 android:layout_width="fill_parent" 

 android:layout_height="match_parent" 

 android:background="#e9e9e9" 

 android:focusable="true" 

 android:focusableInTouchMode="true" 

 android:orientation="vertical" 

 LinearLayout 

 android:layout_width="match_parent" 

 android:layout_height="50dp" 

 android:background="#f0f0f0" 

 android:gravity="center_vertical" 

 TextView 

 android:id="@+id/return_back" 

 android:layout_width="wrap_content" 

 android:layout_height="match_parent" 

 android:drawableLeft="@drawable/return_back" 

 android:gravity="center|center_vertical" 

 android:paddingLeft="15dp" 

 android:text="@string/return_back" 

 android:textColor="#20bf63" 

 android:textSize="22sp" / 

 TextView 

 android:layout_width="0dip" 

 android:layout_height="match_parent" 

 android:layout_weight="2" 

 android:gravity="center|center_vertical" 

 android:text="@string/zx_tit" 

 android:textColor="#000000" 

 android:textSize="22sp" / 

 TextView 

 android:layout_width="40dp" 

 android:layout_height="match_parent" 

 android:gravity="center_vertical" 

 android:singleLine="true" / 

 /LinearLayout 

 LinearLayout 

 android:layout_width="match_parent" 

 android:layout_height="wrap_content" 

 android:background="#ffffff" 

 android:orientation="vertical" 

 android:paddingBottom="15dp" 

 android:paddingLeft="15dp" 

 android:paddingRight="15dp" 

 android:paddingTop="10dp" 

 LinearLayout 

 android:layout_width="match_parent" 

 android:layout_height="wrap_content" 

 TextView 

 android:layout_width="wrap_content" 

 android:layout_height="match_parent" 

 android:layout_alignParentLeft="true" 

 android:layout_gravity="left" 

 android:layout_weight="1" 

 android:text="@string/zx_name" 

 android:textColor="#8b8b8b" 

 android:textSize="18sp" / 

 TextView 

 android:layout_width="wrap_content" 

 android:layout_height="match_parent" 

 android:layout_alignParentRight="true" 

 android:layout_gravity="right" 

 android:layout_weight="1" 

 android:gravity="right" 

 android:text="@string/zx_time" 

 android:textColor="#8b8b8b" 

 android:textSize="18sp" / 

 /LinearLayout 

 TextView 

 android:layout_width="match_parent" 

 android:layout_height="wrap_content" 

 android:singleLine="true" 

 android:text="@string/zx_text" 

 android:textColor="#000000" 

 android:textSize="18sp" / 

 /LinearLayout 

 LinearLayout 

 android:layout_width="fill_parent" 

 android:layout_height="match_parent" 

 android:layout_weight="1" 

 RelativeLayout 

 android:layout_width="fill_parent" 

 android:layout_height="wrap_content" 

 ListView 

 android:id="@+id/listview" 

 android:layout_width="match_parent" 

 android:layout_height="wrap_content" 

 android:layout_marginLeft="10.0dip" 

 android:layout_marginRight="10.0dip" 

 android:layout_marginTop="10.0dip" 

 android:cacheColorHint="#00000000" 

 android:divider="@null" 

 android:dividerHeight="5dp" / 

 LinearLayout 

 android:layout_width="match_parent" 

 android:layout_height="wrap_content" 

 android:layout_alignParentBottom="true" 

 android:background="#f5f5f5" 

 EditText 

 android:id="@+id/txtContent" 

 android:layout_width="wrap_content" 

 android:layout_height="wrap_content" 

 android:layout_gravity="left" 

 android:layout_marginLeft="5dp" 

 android:layout_weight="1" 

 android:background="@drawable/shape_consult_search" 

 android:completionThreshold="1" 

 android:hint="输入内容" 

 android:paddingLeft="8dp" 

 android:textColor="#000000" 

 android:textColorHint="#c2c2c2" 

 android:textCursorDrawable="@null" / 

 Button 

 android:id="@+id/btnConsult" 

 android:layout_width="wrap_content" 

 android:layout_height="match_parent" 

 android:layout_marginLeft="5dp" 

 android:layout_marginRight="5dp" 

 android:background="@drawable/shape_consult_top_btn_press" 

 android:text="发送" 

 android:textColor="#ffffff" / 

 /LinearLayout 

 /RelativeLayout 

 /LinearLayout 

 /LinearLayout 

我们首先分析下这个布局文件:由三个linearlayout组成,其中前两个layout的高度肯定可以确定其高度,第三个layout比较复杂,包含一个 listView  relativelayout ,listview

中的内容是动态的,也就是说高度不定,内容不定;而且还有下边[发送]必须在屏幕的底端显示;假如我们把listview提到独立的layout中,当我们点击edittext输入内容时,就会被 软盘挡住。 解决位于底端Edittext 输入时被软盘遮盖详解手机开发 另还需注意,具体问题具体分析。

6160.html

app程序应用开发手机开发无线开发移动端开发