Android ListView/recyclerView条目中EditText容易失去焦点的问题和取出横向时上下滚动有阴影

使用情况:

列表中有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了。




你可能感兴趣的:(日记)