首页 > 技术文章 > windowSoftInputMode

niray 2014-07-20 20:26 原文

有个问题困扰我一晚上,每次进入Activity后,EditText自动获得焦点弹出软键盘,键盘遮挡listView,使得无法显示最后一条消息。我在edittext点击事件中也设定了,listView.setSelection,选中最后一条数据,可是每次需要点击两下才会显示最新消息,最后在windowSoftInputMode设置了N种组合还是不行。到中午修改Bug,莫名其妙的把acitivity设置成了全屏,这样每次进入acitivity,整个布局都将被上移,其中自定义的Title每次都被挤出屏幕,此奥,这样……我又一边边找错误,终于发现原来我把屏幕设置为了全屏,所以设置inputMode为adjustResize木有反应,Tittle依然被挤出。

  最后发现,ListView有一属性,android:transcriptMode="normal" 设置过后,再配合adjustResize这样每次进入界面后,效果和微信一模一样了,listView被压缩,tittle也不会移出屏幕,并且listView显示最新一条数据。哈哈,终于大功告成~~~~~另外android:stackFromBottom="true"时,如果是动态加载数据,listView每次回从最下面开始加载,这样listVIew上面一片空白,效果不好。

推荐阅读