編輯:Android編程入門
View的自動移動,我們可以設置動畫,如之類提到的 ViewCompat,Animation。
如何是View隨著手指的移動而移動呢?
在onTouch事件實現
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
moveView(view, event.getRawX(), event.getRawY());
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
說明:
onTouch(View view,MotionEvent event)這個方法中,
getRawX()和getRawY()獲得的是相對屏幕的位置,
getX()和getY()獲得的永遠是view的觸摸位置坐標(這兩個值不會超過view的長度和寬度)。
如是Activity中的 onTouchEvent(MotionEvent event) 方法,這個時候獲得的是屏幕點擊位置的坐標。getRawX()與getX()訪求獲取的值是一樣的。
方法1:setLayoutParams
/**
* 設置View的布局屬性,使得view隨著手指移動 注意:view所在的布局必須使用RelativeLayout 而且不得設置居中等樣式
*/
private void moveView(View view, float rawX, float rawY) {
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) view
.getLayoutParams();
params.leftMargin = (int) rawX - ivMove.getWidth() / 2;
params.topMargin = (int) rawY - topTitleHeight - ivMove.getHeight() / 2;
view.setLayoutParams(params);
}
方法2:view.layout(l,t,r,b)
/**
* 通過layout方法,移動view
* 優點:對view所在的布局,要求不苛刻,不要是RelativeLayout,而且可以修改view的大小
*/
private void moveViewByLayout(View view, int rawX, int rawY) {
int left = rawX - ivMove.getWidth() / 2;
int top = rawY - topTitleHeight - ivMove.getHeight() / 2;
int width = left + view.getWidth();
int height = top + view.getHeight();
view.layout(left, top, width, height);
}
方法3:ScrollBy()或者ScrollTo();
/**
* 在activity中實現
* scrollBy() 相對於當前的坐標進行偏移
* scrollTo() 相對於屏幕的左上角進行偏移
* @param event
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
currentX= (int) event.getX();
currentY= (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
int x2= (int) event.getX();
int y2= (int) event.getY();
container.scrollBy(currentX - x2, currentY - y2);
currentY=y2;
currentX=x2;
xyValue.setText(x2+","+y2);
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
信號量,了解過操作系統的人都知道,信號量是用來做什麼的···在Android中,已經提供了Semaphore來幫助我們使用~那麼
ImageView1.什麼是ImageView是顯示圖片的一個控件2.ImageView屬性android:src ImageView的內容顏色 an
由於安卓應用很廣泛,在工業中也常有一些應用,比如可以用安卓來去工業中的一些數據進行實現的監測,顯示,同時可以做一些自動化控制,當然在這裡,我不是做這些自動化控制方面的研究
Android Wear是連接安卓手機和可穿戴產品的一個平台。自從今年上半年發布以來,Android Wear獲得了大量關注,既有來自消費者的關注,也有來自開發商的關注,