使用情况:
列表中有EditText,用户在点击输入框的时候,软键盘弹出,这时候EditText会失去焦点的问题。
使用方法:
网上不少是说在getView()方法里做拦截处理,在获取的时候付给EditText焦点。方法行不行不知道,但是挺复杂的。
简单方法如下:
在使用这个listview列表的Activity的清单文件声明的地方加上一句代码:
android:windowSoftInputMode="adjustPan"
具体位置:
至于为什么:
adjustPan:当前窗口的内容将自动移动,以便当前焦点从不被键盘覆盖
第二个问题: 取出recyclerView横向展示时上下滑动有阴影的处理:
自定义管理者:
public class TaoLinear extends GridLayoutManager { private boolean isScrollEnabled = true; public TaoLinear(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public TaoLinear(Context context, int spanCount) { super(context, spanCount); } public TaoLinear(Context context, int spanCount, int orientation, boolean reverseLayout) { super(context, spanCount, orientation, reverseLayout); } public void setScrollEnabled(boolean flag) { this.isScrollEnabled = flag; } @Override public boolean canScrollVertically() { return isScrollEnabled && super.canScrollVertically(); } }
TaoLinear taoLinear = new TaoLinear(this,4); taoLinear.setScrollEnabled(false); issuedBinding.recyclerQuestion.setLayoutManager(taoLinear);
就OK了。