1. 程式人生 > >關於EditText與ScrollView巢狀使用時候出現的Edittext自動滾動至最頂部的問題

關於EditText與ScrollView巢狀使用時候出現的Edittext自動滾動至最頂部的問題

Text與ScrollView巢狀使用時候出現的Edittext自動滾動至最頂部的問題

安卓中一般來說用ScrollView巢狀過長的LinlyLayout來顯示不確定長度的佈局,

當該線性佈局中嵌套了Edittext的時候會出現種種問題:

1,Edittext中的文字過長時候無法垂直滾動

2,Edittext中的文字過長時候,如果再次獲取焦點則會使EditText向上滾動過多以至於無法正常顯示文字

對於第一種的處理方式多種,我的習慣是重寫Edittext的onTouchEvent();在裡面加上如下程式碼加以處理:

@Override
public boolean onTouchEvent
(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_MOVE) this.getParent().requestDisallowInterceptTouchEvent(true); return super.onTouchEvent(event); }

對於第二種情況,本人找了很多相關的帖子都沒有真的解決本人的問題,無賴之下查看了ScrollView的官方文件

發現如下回調方法:

public boolean requestChildRectangleOnScreen(View child, 
Rect rectangle, boolean immediate) { return false; }

這個回撥是在控制子view是否被固定於一個相對的位置,複寫之後如下:

public boolean requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate) {
    if (child instanceof EditText)
        return true;
    return false;
}
然後問題就解決了

相關推薦

關於EditTextScrollView使用時候出現Edittext自動滾動頂部的問題

Text與ScrollView巢狀使用時候出現的Edittext自動滾動至最頂部的問題 安卓中一般來說用ScrollView巢狀過長的LinlyLayout來顯示不確定長度的佈局, 當該線性佈局中嵌套了Edittext的時候會出現種種問題: 1,Edittext中的文字過

ScrollViewWebView WebView自動滾動的問題

最近專案中有用到WebView,然後底部又用需要展示原生的內容。於是就想到了用ScrollView巢狀WebView, 原來想的是WebView的高度固定,通過滑動WebView到臨界值去交換滑動事件,但發現會有一些小問題。Ps: WebView未載入完全時能看到WebView底部的原生內容

ScrollViewGridView,ListView自動滾動到第一條Item的解決辦法

當ScrollView下巢狀GridView或ListView時,如果內容超過一屏預設位置不在ScrollView的頂部,用scrollViewMsg.scrollTo(0,0)設定也不起作用,這是因為巢狀GridView或ListView獲了焦點,解決方法有如下幾種:

ScrollViewListView設定預設位置為頂部的解決方案

描述: Scrollview裡面嵌套了一個listview ,這是開發中最尋常的一種佈局,遇到的問題是:在這個Scrollview頁面預設的起始位置不是最頂部,而是listview的底部。 原因: 在Activity計算視窗的高度時,是在listview沒有填充資料時候就完成的,由於ScrollV

解決ConstraintLayout ScrollView ScrollView 內容沒有完全顯示

ConstraintLayout 佈局中有ScrollView 時,ScrollView 的寬高要設定為0dp 才可以正確的約束佈局 <ScrollView android

android ListView/GridViewScrollView的滑動衝突解決

首先說一下思路,主要就是去掉子ListView/GridView的內容全部顯示出來,使其不需要滑動。然後用ScrollView將其包裹在其中,接管滑動事件,達到整個佈局的滑動效果。 實際做法需要將ListView/GridView 與 ScrollView 覆

android中關於使用scrollviewLinearLayout,頁面滾動條不到底的解決方法

在android中編寫佈局一般會用到scrollview巢狀LinearLayout,使頁面可以自適應其高度。但是有的機型頁面可以顯示全;有的機型頁面顯示不全,滾動條怎麼也滾動不到底部,如下圖所示: 原xml程式碼: <ScrollView         andr

ScrollViewRecyclerView、ScrollViewListview、ScrollView各種佈局,預設不在頂部和回到頂部的解決方法;

如果:ScrollView.scrollTo(0,0);ScrollView.fullScroll(View.FOCUS_UP) ;ScrollView.smoothScrollTo(0, 0);這三種方法都解決不了你的問題,那麼請往下看;佈局有點複雜:最外層是SwipeRe

ScrollViewEditText,導致EditText顯示多行時滑動失效的問題

ScrollView巢狀EditText,這會有什麼問題呢,我這裡說的是當EditText內輸入多行內容,當EditText所在佈局不夠的時候,必然需要滑動檢視輸入的所有內容。可是當我們把EditText放在ScrollView裡面的時候,會發現EditText的滑動失效了。 原因就

ScrollViewEditText 滑動衝突

重寫EditText 的方法dispatchTouchEvent例: @Override public boolean dispatchTouchEvent(MotionEvent ev

ScrollView RecyclerView 滑動到底端 在滑動的時候出現卡頓(絕對管用)

         商城專案功能基本結束了,終於可以改改BUG了 。         在做首頁的時候就出現了ScrollVeiw 巢狀RecycleView  滑動卡頓的的問題,百度了 好多,千篇一律 各種Copy 找不到好的解決辦法,什麼不要設定RecycleView 複用

ScrollView listview自動滑動到底部的解決辦法

ScrollView 巢狀listview時,當listview自動載入時,會自動滑動到scrollview到底部, 解決方法:在listView的父層加上  android:descendantFocusability="blocksDescendants";即可,每次載

ScrollViewRecyclerView出現的滑動以及顯示異常的處理

解決問題:1.滑動衝突 2.顯示不完整 1.滑動衝突: 1.1.重寫ScrollView package com.cexi.yunzehui.view; import android.content.Context; import android

ScrollViewRecyclerView,RecyclerView總是把它上面的控制元件頂出頁面(頁面出現自己滾動)

ScrollView巢狀RecyclerView,當我離開當前頁面,然後又回來時,RecyclerView就會把它上邊的控制元件都擠出頁面,它顯示在頁面最上邊。 原因應該是RecyclerView搶了焦點,只需要把ScrollView中最上邊的那個控制元件加上幾句程式碼

解決ScrollViewRecyclerView出現item顯示不全的問題

問題:ScrollView巢狀RecyclerView時,RecyclerView的item顯示不全 出現問題不要慌,耐心解決才是王道,哈哈。首先說下出現這個問題的情景吧,首先宣告這個問題在23版本以上出現的,23版本是android 6.0版本,是的當我們targetSd

解決ScrollviewRecyclerview,Gridview等出現內容顯示不全等為

在自定義View和ViewGroup的時候,我們經常會遇到int型的MeasureSpec來表示一個元件的大小,這個變數裡面不僅有元件的尺寸大小,還有大小的模式。 這個大小的模式,有點難以理解。在系統中元件的大小模式有三種: 1.精確模式(MeasureSpec.EXAC

ScrollViewListView,GridView,ViewPager,以及這些控制元件自動滾動到底部問題的解決

Google是不推薦在ScrollView 中放入一個可滾動的選單的,比如放置一個ListView、GridView、ViewPager這些控制元件的,儘量不要讓兩者巢狀,但有時候還是有這個需求,先不管它合不合理。如果直接在ScrollView中巢狀只會出現一行,然後在其中滾動,這樣不是很好,下面是我的整理

Scrollview listView recycleView 滑動衝突的解決

本來我們用recycview代替了listview之後就很少會遇到scrollview了但是產品需求總是在不斷的更新。在時間與技術的探索之下,還是會有一部分兄弟會選擇這樣的佈局,下面我就來說說使用之後遇到的一些坑的解決方案。 1 scrollview 簽到listview

Android ScrollViewExpandableListView顯示不正常的問題的解決辦法

  關於ScrollView巢狀ExpandableListView導致ExpandableListView顯示不正常的問題解決方法有很多,在這裡介紹一種小編親自測試通過的方法。 1:不顯示chidview: 重寫ExpandableListView : public&n

解決ScrollViewListView或GridView置頂顯示問題

今天無意間發現一個小小的問題,當我們使用ScrollView裡面巢狀ListView或GridView的時候頁面顯示會停留在ListView的item當前,而不是置頂顯示整個頁面,不要慌,解決辦法來了。 1.在java程式碼中ListView或GridView初始化後面新增以下程式碼: sc