2016-07-16 50 views
2

我在佈局上配置了固定寬度的TextView,並將其設置爲單行模式。 text屬性設置爲一個字符串,它比TextView的寬度顯示更多的水平空間。用戶界面允許左右滾動文本,以便可以在視圖中看到任何給定的字符串部分。是否可以查詢TextView Scrolled Position?

我想將小標記圖形放在文本視圖的右側和左側,以顯示視圖兩邊的文本滾動到邊界之外。如何查詢TextView以確定文本字符串是否溢出左邊界或右邊界?

回答

2

雖然我以前沒有用過它,但在TextView上查看getMovementMethod()。您應該可以通過MovementMethod訪問滾動事件。

根據Android的文檔爲MovementMethod:

提供光標的定位,滾動和文本選擇的功能在一個TextView。

爲了內容導航的目的,TextView委託處理關鍵事件,軌跡球運動和觸摸移動方法。該框架根據TextView的內容自動選擇適當的移動方法。

你可以嘗試擴大ScrollingMovementMethod,然後設置其對你的TextView,如:

MyScrollingMovementMethod movementMethod = new MyScrollingMovementMethod(); 
mTextView.setMovementMethod(movementMethod); 

,然後覆蓋的MyScrollingMovementMethodonTouchEvent方法。

但是,您應該嘗試擴展TextView以手動處理計算滾動長度。看看這個答案在這裏:https://stackoverflow.com/a/19827071/1738090