移動乙個
view
1.想要移動乙個view,我們可以在這個view上(或者它的子控制項上)設定乙個touchlistener,然後在ontouch()方法中新增移動的響應處理。
(pipview
.findviewbyid(r.id.
pip_move
)).setontouchlistener(
new
ontouchlistener()
return true;}})
;這裡的action_move的時候,layou()函式可以改變view的布局,但是view的實際的marigin引數並未改變,在設定pipwholeview的乙個子控制項的可見與不可見時,整個pipwholeview又回到了最初的位置(左上角),儘管移動時整個view是隨手指移動的,後面的view.setleft(),settop(),setright(),setbottom(),和layout()函式的效果一樣。
那麼既能改變view的視覺效果,又能改變view的布局屬性的是哪個方法呢?其實就是下面的layoutparams.setmargins(int left,int top,int right,int bottom)和view.setlayoutparams()方法。該方法設定了view的左上右下相對于父控制項的距離,其實只需設定前面兩個引數即可,左邊距和上邊距足夠確定view的位置(後面的兩個引數設定為0)。
首先宣告乙個view布局的布局引數變數,注意viewgroup(是乙個抽象類,子類有relativelayout,linearlayout,gridlayout,framelayout等)的layoutparams只能設定寬度和高度,它的子類的layoutparams才可以設定子控制項相對于父控制項的距離。
private然後在view的建構函式中初始化該變數。relativelayout.layoutparams
piplayoutparams
;
publicviewpipwindow
(view v
, context context)
return true;
}});
的縮放縮放乙個
view
的時候,最方便的方法是設定
view
的scalex()
和scaley()
,這樣不僅達到視覺上的縮放,又能改變
view
的屬性,更重要的一點是在縮放時,還可以設定
view
縮放的錨點(即以哪個點為中心進行縮放)具體**如下。
public booleanontouch
(view view
, motionevent motionevent)
log.i(
"scale"
,"scaled!");
//sourceviewreset();
break;
}
return true;
}
Android 縮放 移動 旋轉View相關方法
android rotation 關聯方法 setrotation float 屬性說明 旋轉度數 android rotationx 關聯方法 setrotationx float 屬性說明 水平旋轉度數 android rotationy 關聯方法 setrotationy float 屬性說明...
unity ugui縮放 移動
乾貨羅列在前,不願意看的,拿東西走人,自己研究 關於ugui的排版方面,剛上手的時候,覺得 哎喲!不錯,這個刁。但是如果你使用過qt等軟體,其實ugui的對齊功能還是很落後的。如果你繼續使用這個排版功能,你就會發現 什麼啊這是,什麼邏輯啊,完全沒懂啊。如何修改ugui控制項到我指定的大小 如何移動u...
View的移動方式
android 3.0以後加入x,y,translationx,translationy等引數。x,y 表示為view在viewgroup中左上角的x,y的值,translationx,translationy在用於平移乙個view。預設是都為0,在呼叫了view的settranslationx s...