課程
/移動(dòng)開(kāi)發(fā)
/Android
/打造個(gè)性的圖片預(yù)覽與多點(diǎn)觸控
if(matrixRect.width()>=width){}else{ // 這里不就是小于嗎}
2015-05-14
源自:打造個(gè)性的圖片預(yù)覽與多點(diǎn)觸控 2-4
正在回答
我是這樣理解的:
首先判斷圖片的寬度大于等于屏幕寬度要做的操作---即不讓屏幕出現(xiàn)白邊,因?yàn)槿绻∮诘脑捚聊槐旧砭蜁?huì)有空白出現(xiàn)。這里的rect.width就是通過(guò)mScaleMatrix放大或縮小后的圖片寬度。
rect有四個(gè)值:left、right、top、bottom。
結(jié)合老師畫(huà)的那個(gè)圖來(lái)看,left值就是rect離屏幕左邊的距離,這個(gè)值不能大于0,如果大于0則說(shuō)明圖片在屏幕內(nèi)且小于了屏幕寬度,在偏移過(guò)程中屏幕左邊會(huì)出現(xiàn)白邊,也不能是負(fù)值,否則圖片就超出了屏幕范圍,右邊會(huì)出現(xiàn)白邊;而right值是不能小于屏幕寬度,否則也會(huì)出現(xiàn)白邊,應(yīng)該讓right值等于屏幕的寬度,也就是我們屏幕的寬度減去rect.right的值??偟恼f(shuō)來(lái)我們?cè)谶@個(gè)if中要做的就是在圖片偏移的過(guò)程中不能讓left大于0,right小于屏幕寬度。下面的垂直方向控制同理。
也不知道這樣理解對(duì)不對(duì)……
我覺(jué)得他這里輸偶讀Rect.width,除了縮放要顯示圖片區(qū)域的寬度,還包括未調(diào)整前的白邊。
Rect.width本來(lái)應(yīng)該等于width的,但是因?yàn)橛邪走?,所以Rect.width > width了
weibo_精神缺失z_0
久居_深海 回復(fù) weibo_精神缺失z_0
舉報(bào)
實(shí)現(xiàn)圖片自由縮放與多點(diǎn)觸控效果,對(duì)Matrix以及手勢(shì)檢測(cè)API深入學(xué)習(xí)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-10-12
我是這樣理解的:
首先判斷圖片的寬度大于等于屏幕寬度要做的操作---即不讓屏幕出現(xiàn)白邊,因?yàn)槿绻∮诘脑捚聊槐旧砭蜁?huì)有空白出現(xiàn)。這里的rect.width就是通過(guò)mScaleMatrix放大或縮小后的圖片寬度。
rect有四個(gè)值:left、right、top、bottom。
結(jié)合老師畫(huà)的那個(gè)圖來(lái)看,left值就是rect離屏幕左邊的距離,這個(gè)值不能大于0,如果大于0則說(shuō)明圖片在屏幕內(nèi)且小于了屏幕寬度,在偏移過(guò)程中屏幕左邊會(huì)出現(xiàn)白邊,也不能是負(fù)值,否則圖片就超出了屏幕范圍,右邊會(huì)出現(xiàn)白邊;而right值是不能小于屏幕寬度,否則也會(huì)出現(xiàn)白邊,應(yīng)該讓right值等于屏幕的寬度,也就是我們屏幕的寬度減去rect.right的值??偟恼f(shuō)來(lái)我們?cè)谶@個(gè)if中要做的就是在圖片偏移的過(guò)程中不能讓left大于0,right小于屏幕寬度。下面的垂直方向控制同理。
也不知道這樣理解對(duì)不對(duì)……
2015-08-18
我覺(jué)得他這里輸偶讀Rect.width,除了縮放要顯示圖片區(qū)域的寬度,還包括未調(diào)整前的白邊。
Rect.width本來(lái)應(yīng)該等于width的,但是因?yàn)橛邪走?,所以Rect.width > width了