實現滑動的幾種簡單方法
<span style="font-family:Comic Sans MS;font-size:14px;">public boolean onTouchEvent(MotionEvent event) { float x = event.getX(); float y = event.getY(); // float x = event.getRawX(); // float y = event.getRawY(); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: mLastX = x; mLastY = y; break; case MotionEvent.ACTION_MOVE: int offsetX = (int) (x - mLastX); int offsetY = (int) (y - mLastY); <span style="color:#ff0000;">// 使用layout進行位移</span> // layout(getLeft() + offsetX, getTop() + offsetY, getRight() // + offsetX, getBottom() + offsetY); <span style="color:#ff0000;">// 使用offsetLeftAndRight、offsetTopAndBottom</span> // offsetLeftAndRight(offsetX); // offsetTopAndBottom(offsetY); <span style="color:#ff0000;">// 使用MarginLayoutParams</span> // marginLayoutParams = (MarginLayoutParams) getLayoutParams(); // marginLayoutParams.setMargins(getLeft() + offsetX, getTop() // + offsetY, 0, 0); // setLayoutParams(marginLayoutParams); <span style="color:#cc0000;">// 使用scroll,引數為正向上滑</span> ((View) getParent()).scrollBy(-offsetX, -offsetY); // 使用絕對座標一定要重新設定初始座標 // mLastX = x; // mLastY = y; break; case MotionEvent.ACTION_UP: <span style="color:#ff0000;">// 使用scroller</span> View viewParent = ((View) getParent()); //不知道為什麼滑出屏幕後不會滑回來 mScroller.startScroll(viewParent.getScrollX(), viewParent.getScrollY(), -viewParent.getScrollX(), -viewParent.getScrollY()); viewParent.invalidate(); break; } return true; } @Override public void computeScroll() { super.computeScroll(); if (mScroller.computeScrollOffset()) { ((View) getParent()).scrollTo(mScroller.getCurrX(), mScroller.getCurrY()); invalidate(); } }</span>
相關推薦
實現滑動的幾種簡單方法
<span style="font-family:Comic Sans MS;font-size:14px;">public boolean onTouchEvent(MotionEvent event) { float x = event.getX();
將電腦瀏覽器User-Agent識別改成手機瀏覽器UA幾種簡單方法
第一種方法:修改瀏覽器的快捷方式 右擊桌面上的Chrome瀏覽器圖示,在彈出的右鍵選單中選擇“複製”,複製一個圖示副本到桌面。右擊該副本,選擇“屬性”,開啟相應的對話方塊,在“目標”文字框的字元後面新增以下語句: --user-agent="Android",如下圖: --user-agent
阻止a標籤預設事件的幾種簡單方法
第一種: <a href = " javascript: void ( 0 ); ">百度</a> 或者<a href = " javascript:; ">百度</a> 測試:(可行)<a href="javascri
清除浮動的幾種簡單方法:萬能清除浮動法,clear:both......
方法一:給父級元素新增宣告:overflow:hidden;。 例: .wrap{ border:3px solid #000;overflow:hidden;} .box01{ width:500px; height:500px; background:#F
阻止a標籤預設行為的幾種簡單方法
寫這篇文章的契機是由於公司最近一個系統專案,基於dwz框架做的。框架內部獲取內容的原理是使用ajax的load()方法來做的。所以自然會涉及到給定的元素的要先遮蔽其連結跳轉,然後再使用ajax的原理進行內容載入和讀取。 如下所示: 方法1: <a h
iOS網路通訊的幾種簡單方法
在Demo中介紹了iOS幾種簡單的網路通訊方式。 1、AFNetworking(http/https) 支援介面 //get請求 -(void) httpGet: (NSString *)url parameters: (id)parameters identifi
幾種簡單的負載均衡算法及其Java代碼實現
hsb p12 vld tar www. 簡單的 sin all .com jdsbuy肇岡唾氈瀉節http://www.docin.com/app/user/userinfo?userid=179258715a4cqu2瘟萄優歐壹讜http://huiyi.docin.c
PHP實現獲取文件後綴名的幾種常用方法
後綴名 get file cti lower urn rpo info 常用方法 方法1: function get_file_type($filename){ $type = substr($filename, strrpos($filename, ".")+1)
PHP實現獲取檔案字尾名的幾種常用方法
方法1: function get_file_type($filename){ $type = substr($filename, strrpos($filename, ".")+1); return $type; } 方法2: function get_file_type($filena
Java單例模式實現的幾種方法
package offer; public class Test02 { /** * 01 餓漢模式 執行緒安全 */ public static class Singleton{ private final static Singleton
Python實現幾種簡單的排序算法
第一個 出現 冒泡 列表 nbsp 工作 代碼實現 描述 false 一.冒泡排序 概念:為一個無序的列表排成有序的 實現過程描述:(升序) 1.比較相鄰的元素,如果第一個比第二個大,就交換他們的位置 2.對每一對相鄰元素重復1的工作,從開始第一隊到最後一對
Python實現幾種簡單的排序演算法
一.氣泡排序 概念:為一個無序的列表排成有序的 實現過程描述:(升序) 1.比較相鄰的元素,如果第一個比第二個大,就交換他們的位置 2.對每一對相鄰元素重複1的工作,從開始第一隊到最後一對,最後結束的時候最大的數會在後面 3.針對所有元素重複1,2的工作,除了最後一個數,因為最後的數最大
實現對gridview刪除行時彈出確認對話方塊的一種簡單方法
首先,在GridView的屬性對框話框中點選“Columns”進入它的“欄位”設計器。接著在“欄位”設計器中選擇以前已加上的那個CommandField“刪除”列,這時在它的屬性列表下會看到一個“將此它段轉換為 TemplateFied”的項,點選將它轉換為TemplateFied列。完後退出該欄位設計器,切
SpringBoot---系統啟動載入實現的幾種方法
1.CommandLineRunner 通過實現介面 CommandLineRunner 來實現,來完成專案啟動就載入所需要的資源。 import org.springframework.boot.CommandLineRunner; import org.springfra
Python中幾種常見方法實現斐波那契數列
Python常見斐波那契解決方案 n=35 #1.遞迴求斐波那契 def fibo(n): return 1 if n<3 else fibo(n-1)+fibo(n-2) print(fibo(n)) #2.迴圈求斐波那契 f1,f2=0,1 for i
幾種簡單的文字資料預處理方法
將開頭和結尾的一些資訊去掉,使得開頭如下: One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrib
幾種CSS方法實現元素垂直居中
最近在專案中又用到了元素的垂直居中,在這裡整理總結一下可以實現元素垂直居中的幾種方法。 方法1:(單行元素垂直水平居中) 利用line-height實現單行元素的垂直居中。
選項卡的實現的幾種方法
今天總結一下頁面中選項卡實現的幾種方法。在實戰中會經常的使用到。下面的方法都是純HTML+CSS,並沒有用到JS,JS日後補上。 一、使用:target屬性實現選項卡 頁面的結構:(h
簡單概述JQuery的幾種過濾方法
為了更加靈活地的操作元素,除了選擇器之外,JQuery還為我們提供了過濾、查詢方法。過濾和查詢補充了很多選擇器無法進行的操作。 1、first()/last()方法 返回被選元素的首個元素/最後一個元素。 <ol> <
用遞迴或者for迴圈求1-20的乘積的幾種簡單實現
// 通過遞迴求1-20的乘積 function cj(n) { if (n >= 2) return n * cj(n - 1); else return n; } cj(20); // 或者 function cj(n) { if (n <= 19) return n * c