view的基礎知識

2021-08-04 14:27:23 字數 1326 閱讀 8438

view的位置由4個引數決定,left、right、top、bottom,可以用下圖來表明他們的含義:

這些數值都是相對于父容器而言的,不是螢幕。通過getleft等方法可以獲得這些值。

需要注意的是,這4個引數的值在檢視被畫制時就會固定不變,當它發生移動時,通過ranslationx/y和x/y的值的改變來表示移動情況,這些值也是相對父容器而言的。通過getrawx/y可以獲得相對螢幕的距離。

touchslop是view最小的、可以被系統識別的滑動距離,可以通過viewconfiguration.get(getcontext())獲得view的配置類,然後在呼叫配置類的getscaledtouchslop()方法來獲得最小滑動距離。

velocitytracker是速度***,通過velocitytracker.obtain()來獲得例項(也就意味著需要被**),獲得例項後往速度***裡新增需要計算的滑動事件物件,比如velocitytracker.addmovement(event),然後呼叫計算方法計算這個事件物件,比如velocitytracker.computecurrentvelocity(單位),然後就得到了具有速度值的velocitytracker的例項,然後就可以通過getx/yvelocity()來獲得某個方向上的速度。需要注意的是,速度是向量值,也就是有正負值的,用正負值表示方法;另外,使用完以後,要clear裡面的事件物件,然後用recycle*****。

gesturedetector是手勢檢測器,算是原view手勢檢測的加強版吧,它可以監聽雙擊,長按等事件。要使用它需要先繼承自它的介面,比如基本功能介面ongesturelistener,擴充套件介面ondoubletaplistener,然後在建立例項時傳進檢視例項,或者是使用匿名內部類來建立也可以。為了和view原有的檢測器不衝突,需要在原有檢測方法裡接管事件,也就是在view的ontouchevent裡接管,具體的方法是呼叫手勢檢測器的ontouchevent,把事件傳遞給它,然後返回值由它的ontouchevent來決定。接管以後,當有相應的事件傳進來時,就會呼叫gesturedetector介面需要我們重寫的方法,不同方法對應的事件型別如下:

另外,使用gesturedelector還可以解決長按後不能移動檢視的問題,使用例項的setislongpressenabled(false)來設定不可以長按。

有關View的幾個基礎知識點 IOS開發

我一般情況下不會使用inte ce builder去畫介面,而是用純 去建立介面,不是裝b,而是剛從vi轉到xcode不久,不太習慣inte ce builder而已。當然如果需要我也會使用它。乙個東西的存在沒有絕對的好與壞,只是存在時間與空間決定了它的價值。忘了講了,我的環境是xcode4.2 首...

電腦的基礎知識 電腦的基礎知識

電腦的組成部分與其作用 一 軟體系統 軟體系統的組成分別是 作業系統 應用軟體等。其應用軟體是指特定領域開發 並為特定目的服務的一類軟體。而作業系統是位於底層硬碟與使用者之間溝通的橋梁。使用者可以通過作業系統的使用者頁面,輸入命令,實現使用者需求。二 硬體系統 硬體系統是指構成計算機的物理裝置,即由...

電腦的基礎知識 電腦的基礎知識介紹

起尾我們需相識電腦的底子形成著名我們顧到的電腦皆是由 主機 次要部分 輸出裝置 矯飾器 輸出裝置 鍵盤戰滑鼠 三年夜件形成。而主機是電腦的主體,正在主機箱中有 主機板 cpu 記憶體 電源 音卡 音效卡 網絡卡 軟盤 軟碟機 光碟機等軟體。從底子機挨開往道,電腦不妨分為五年夜部分 運算器 記憶體器 ...