Android ListView/recyclerView條目中EditText容易失去焦點的問題和取出橫向時上下滾動有陰影
阿新 • • 發佈:2019-01-28
使用情況:
列表中有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, intspanCount) { 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; } @Overridepublic boolean canScrollVertically() { return isScrollEnabled && super.canScrollVertically(); } }
TaoLinear taoLinear = new TaoLinear(this,4); taoLinear.setScrollEnabled(false); issuedBinding.recyclerQuestion.setLayoutManager(taoLinear);
就OK了。