編輯:關於Android編程
我們為view添加onTouch事件,獲取移動過程中,手指相對屏幕的位置信息:[code]
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
moveViewWithFinger(view, event.getRawX(), event.getRawY());
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}/**
* 設置View的布局屬性,使得view隨著手指移動 注意:view所在的布局必須使用RelativeLayout 而且不得設置居中等樣式
*
* @param view
* @param rawX
* @param rawY
*/
private void moveViewWithFinger(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);
}/**
* 通過layout方法,移動view
* 優點:對view所在的布局,要求不苛刻,不要是RelativeLayout,而且可以修改view的大小
*
* @param view
* @param rawX
* @param rawY
*/
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);
}-------------------------------------------------------------------
更多交流,Android開發聯盟QQ群:272209595
Eclipse搭建android環境
目錄一、安裝JDK.. 11、JDK下載... 12、安裝JDK.. 13、環境變量設置... 3二、安裝Eclipse. 51、Eclipse下載... 52、Ecli
Google教程——使用Volley加載網絡資源
前言因為最近想和後台進行對接,昨天自己在Google上研究了半天關於Volley的內容,覺得很開心。因為原來覺得關於網絡這塊,一直是個很復雜的東西和流程,沒想到Googl
android自定義布局的使用!
繼承viewGroup; 自定義控件的左邊距;右邊距;上邊距,下邊距; java 代碼; package com.example.customview1406_04m
Android UI效果之繪圖篇(四)
上一篇博文說到了Shader的五個子類 - BitmapShader - LinearGradient - RadialGradient - SweepGradient