欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android避免弹出软键盘遮盖listview的简单方法

程序员文章站 2024-03-04 22:10:24
做开发的时候,我们常常把listview放中间,然后底部放置一个edittext控件,这样导致editext控件获得焦点的时候,输入法弹出,edittext控件上移,挡住了...

做开发的时候,我们常常把listview放中间,然后底部放置一个edittext控件,这样导致editext控件获得焦点的时候,输入法弹出,edittext控件上移,挡住了listview的部分数据,这样不太美观。所以,我们需要让listview也跟着上移,所以需要:

方法一:在xml文件中,设置listview属性时候加上这句就ok了android:transcriptmode="normal";

方法二:在程序中加入语句:

listview.settranscriptmode(listview.transcript_mode_normal);

如果想让listview上移,即listview随item的增加而向上滚动。

 

listview.settranscriptmode(abslistview.transcript_mode_always_scroll);

 如果不想让listview上移,即不让listview随item的增加而向上滚动。

listview.settranscriptmode(listview.transcript_mode_disabled);<span style="color: rgb(51, 51, 51); font-family: arial; font-size: 14px; line-height: 26px;">//</span><span style="color: rgb(51, 51, 51); font-family: arial; font-size: 14px; line-height: 26px;">数据item仍然增加  listview</span><span style="color: rgb(51, 51, 51); font-family: arial; font-size: 14px; line-height: 26px;">不滚动,</span>

listview数据刷新后保持原来的位置,

在下拉刷新的时候,设置listview.settranscriptmode(abslistview.transcript_mode_disabled);

然后计算下原来的位置,数据刷新adapter.notifydatasetchanged();

接着就是设置listview.setselection,这样基本是平滑的,没有跳动。体验不错哦

以上就是小编为大家带来的android避免弹出软键盘遮盖listview的简单方法的全部内容了,希望对大家有所帮助,多多支持~