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了。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值