android七種滑動方法,3種滑動機制;
記得之前在看醫生的群英傳裡面有寫到實現安卓中的7種滑動方法如下:
1、layout方法
2、offsetLeftAndRight與offsetTopandBottom;
3、LayoutParams;
4、scrollTo和scrollBy
5、Scroller;
6、屬性動畫
7、ViewDragHelper();
但是上面的實現滑動的機制大體上分為如下三種:
1、內容的移動
2、佈局引數的移動
3、屬性的移動
採用上面三種滑動機制來對一個FrameLayout做一個,向右滑動100px效果分別如下:
從效果很容易發現
1、內容移動,通過移動裡面的內容來實現滑動,其本身是不會滑動的,也就是我們常說的Scroller;所以TranslationX和left是不會發生變化的;
2、屬性滑動,通過修改TranslationX屬性來實現移動,也就是我們常說的屬性動畫;所以其layout的佈局引數是不會發生變化的;
3、佈局引數滑動:通過修改Left,bottom等佈局引數實現的滑動,其屬性是不會發生變化的;
為什麼屬性和佈局引數都可以實現滑動,原因:
view.getX()決定這個View的在父容器的位置,而:
view.getX()=view.getTranslationX()+view.getLeft();
所以通過屬性和佈局引數都是可以讓View進行一個滑動的
一般來說,getTranslationX()預設是0;
總結:
對於上面的7中滑動的實現方式分類:
1、layout方法 :佈局引數滑動
2、offsetLeftAndRight與offsetTopandBottom;:佈局引數滑動
3、LayoutParams;:佈局引數滑動
4、scrollTo和scrollBy:內容滑動
5、Scroller;:內容滑動
6、屬性動畫:屬性滑動;
7、ViewDragHelper();:佈局引數的滑動;
如果我們想要滑動的話,該採用那種方式呢?
這裡借用藝術探索裡面的內容:
1、內容滑動: 操作簡單,多用於view內部的滑動 2、屬性滑動:操作簡單,實現沒有互動的view和實現複雜的動畫效果; 3、佈局引數的滑動:操作複雜,適合有有互動的View
android系統原生的控制元件ScrollView我們檢視原始碼可以知道,其實現的滾動採用的是內容滾動;
相關推薦
android七種滑動方法,3種滑動機制;
記得之前在看醫生的群英傳裡面有寫到實現安卓中的7種滑動方法如下: 1、layout方法 2、offsetLeftAndRight與offsetTopandBottom; 3、LayoutParams; 4、scrollTo和sc
100份PDF轉換Word,Word轉PDF,3種方法幫你一鍵解決!
100份PDF轉換Word,Word轉PDF,3種方法幫你一鍵解決!相信大家在辦公時候偶爾會將檔案之間進行相互轉換,如果這時候領導突然給你100風PDF檔案,讓你幫他轉換成Word,你該如何是好呢?剛入職場的你肯定是一臉懵逼!那麼今天在這裡為大家整理了3種方法,幫你一鍵解決! 方法1:複製貼上法
android中RadioButton中的自帶的圓圈如何去掉,兩種方法,一種.xml、一種程式碼中
第一種.xml中 我想大家都知道 android:button="@null"其實這就是簡單的多RadioButton做的一個自定義,null就是給他為空,所以就變相的隱藏掉了它自帶那個圓圈。 重點是第二種的方法,在java程式碼中:RadioButton IB_PullD
基於Android中實現定時器的3種解決方法
在Android開發中,定時器一般有以下3種實現方法:一、採用Handler與執行緒的sleep(long)方法 二、採用Handler的postDelayed(Runnable, long)方法 三、採用Handler與timer及TimerTask結合的方法下面逐一介紹
Android學習筆記2 TextView圖文混排,顯示新增的圖片,三種常用方法,親測
圖文混排,文字就不說了,主要是顯示圖片的方法 1、TextView使用ImageSpan顯示圖片 ImageSpan span = new ImageSpan(this, R.drawable.ic_launcher);//載入圖片的資源 SpannableStrin
ExtJs--09--javascript對象的方法的3種寫法 prototype通過原型設置方法效率最好
共享 name script div code javascrip 寫法 proto alert /** * javascript對象的方法的3種寫法 推薦第三種 運行效率最好 */ function P(name , age){ this.name
.Net MVC 導入導出Excel總結(三種導出Excel方法,一種導入Excel方法) 通過MVC控制器導出導入Excel文件(可用於java SSH架構)
ets esp llb pat lencod cnblogs 創建 etime mmd public class ExcelController : Controller { // // GET: /Excel/ M
關於Facebook、twitter、google、pinterest四種分享方法,附帶微博、QQ、微信、豆瓣等等
設計 document 類型 默認 設計圖 sta over conf too 常用的國外網站分享推過,Facebook、twitter、google、pinterest這四種社交平臺最常見,下面就簡單介紹一下分享的方法。 首先,必須使用分享插件,share.js
手機端白屏前端優化的方法,5 種以上
渲染 阻塞 rip 數據 通過 可能 執行 需要 滾動 手機白屏主要是因為頁面渲染阻塞導致的,導致的原因有: 1:css文件加載需要一定的時間,在加載的過程中頁面是空白的 解決:將css代碼前置或者內聯html 即使用<style> 2.可能是等待異
機器學習的13種演算法和4種學習方法,推薦給大家
機器學習的演算法很多。很多時候困惑人們都是,很多演算法是一類演算法,而有些演算法又是從其他演算法中延伸出來的。這裡,我們從兩個方面來給大家介紹,第一個方面是學習的方式,第二個方面是演算法的分類。 一、4大主要學習方式 1.監督式學習 在監督式學習下,輸入資料被稱為“訓練資料”,
day030程序的兩種建立方法,驗證程序的空間隔離,join等待子程序
本節內容: 1.作業系統的簡單介紹 2.程序的兩種建立方法 3.程序之間是空間隔離的, 參考文章: 一、作業系統的簡單介紹 1、作業系統簡單介紹 作業系統就是一個協調、管理和控制計算機硬體資源和軟體資源的控制程式。 作業系統位於計算機硬體與應用軟體之間,本質也是一個軟體。 作業系統由作業系統的核心(
淺談http協議六種請求方法,get、head、put、delete、post、options區別
原帖:https://www.cnblogs.com/wei-hj/p/7859707.html 標準Http協議支援六種請求方法,即: 1、GET 2、POST 3、PUT 4、Delete 5、HEAD 6、Options 但其實我們大部分情況下只用到了GET和P
Android指紋識別API講解,一種更快更好的使用者體驗
我發現了一個比較怪的現象。在iPhone上使用十分普遍的指紋認證功能,在Android手機上卻鮮有APP使用,我簡單觀察了一下,發現Android手機上基本上只有支付寶、微信和極少APP支援指紋認證功能,就連銀行和金融類的應用都基本不支援,甚至很多開發者都不知道Androi
淺析軟體成本估算之NESMA方法的3種應用場景(轉載)
NESMA為荷蘭軟體度量協會的簡稱(Netherland Software Measurement Association),NESMA功能點方法是五種ISO國際功能點標準之一,不但易學易用、快速、經濟,而且容易開發和建立使用者自己特有的估算模型。 在五種國際標準中,只有NESMA方法定
淺析軟體成本估算之NESMA方法的3種應用場景
NESMA為荷蘭軟體度量協會的簡稱(Netherland Software Measurement Association),NESMA功能點方法是五種ISO國際功能點標準之一,不但易學易用、快速、經濟,而且容易開發和建立使用者自己特有的估算模型。 在五種國際標準中,只有NESMA方法定
Linux新增PYTHONPATH方法以及3種修改環境變數方法
在用Linux(OS:Centos 7.2)時看到有一行程式碼是: export PYTHONPATH=$PYTHONPATH:/home/usrname/models:/home/usrname/models/one 意思是將models以及其目錄下的o
稀疏矩陣的儲存方法(3種)及C語言程式碼實現
稀疏矩陣,即含有少量非 0 元素的矩陣,如圖 1 所示: 圖 1 稀疏矩陣 該矩陣中非 0 元素的數量比較少,與其使用普通方式將矩陣中的所有資料元素一一儲存,不如只儲存非 0 元素更節省記憶體空間,拿圖 1 中矩陣來說,只需儲存元素 3、4、5 即可(此類儲存方式被稱為稀疏矩陣的壓縮儲存)。
分治法:快速排序,3種劃分方式,隨機化快排,快排快,還是歸併排序快?
快速排序不同於之前瞭解的分治,他是通過一系列操作劃分得到子問題,不同之前的劃分子問題很簡單,劃分子問題的過程也是解決問題的過程 我們通常劃分子問題儘量保持均衡,而快排缺無法保持均衡 快排第一種劃分子問題實現方式,左右填空的雙指標方式 def partition_1(arr,low
Spring的四種事務特性,五種隔離級別,七種傳播行為
Spring事務:什麼是事務:事務邏輯上的一組對資料對操作,組成這些操作的各個邏輯單元,要麼一起成功,要麼一起失敗。事務特性(4種):原子性(atomicity):強調事務的不可分割;一致性(consistency):事務的執行前後資料的完整性保持一致;隔離性(isolati
height:100%; 不起作用的四種解決方法,子級溢位來父級卻沒有撐開
專案中遇到一個問題: 父級高度是auto,子級高度100%但是元素卻無法撐滿,總結了一下有下面三種方法,親測有效: 1:給父元素設為塊級並加固定高度 2: 父元素height:auto; overflow:hidden; 3: 不苛求相容性的話父級dis