http://blog.csdn.net/ztp800201/article/details/17218067
http://blog.csdn.net/ztp800201/article/details/17218067
http://blog.csdn.net/ztp800201/article/details/17218067
http://blog.csdn.net/ztp800201/article/details/17218067
http://blog.csdn.net/ztp800201/article/details/17218067
- public
class Res extends Activity implements View.OnTouchListener { -
-
Button btn = null; -
int x = 0; -
int y = 0; -
int rawx = 0; -
int rawy = 0; -
-
-
@Override -
public void onCreate(Bundle savedInstanceState) { -
super.onCreate(savedInstanceState); -
setContentView(R.layout.main); -
btn = (Button) findViewById(R.id.button); -
btn.setOnTouchListener(this); -
} -
-
public boolean onTouch(View view, MotionEvent event) { -
int eventaction = event.getAction(); -
switch (eventaction) { -
case MotionEvent.ACTION_DOWN: -
break; -
case MotionEvent.ACTION_MOVE: -
x = (int) event.getX(); -
y = (int) event.getY(); -
rawx = (int) event.getRawX(); -
rawy = (int) event.getRawY(); -
Log.d("DEBUG", "getX=" + x + "getY=" + y + "n" + "getRawX=" + rawx -
+ "getRawY=" + rawy + "n"); -
break; -
-
case MotionEvent.ACTION_UP: -
-
break; -
} -
return false; -
} - }
当你触到按钮时,x,y是相对于该按钮左上点(控件本身)的相对位置。
而rawx,rawy始终是相对于屏幕的位置。
getRowX:触摸点相对于屏幕的坐标
getX: 触摸点相对于按钮的坐标
getTop: 按钮左上角相对于父view(LinerLayout)的y坐标
getLeft: 按钮左上角相对于父view(LinerLayout)的x坐标
可以想象 getRight()等同于下面的计算:getLeft()+getWidth()。
http://blog.csdn.net/ztp800201/article/details/17218183
http://blog.csdn.net/ztp800201/article/details/17218183
http://blog.csdn.net/ztp800201/article/details/17218183
http://blog.csdn.net/ztp800201/article/details/17218183
http://blog.csdn.net/ztp800201/article/details/17218183
int[] location = new int[2] ;
view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标
view.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标
location [0]--->x坐标,location [1]--->y坐标
getLocationOnScreen
getLocationInWindow
getLeft
http://blog.csdn.net/ztp800201/article/details/16862125
http://blog.csdn.net/ztp800201/article/details/16862125
http://blog.csdn.net/ztp800201/article/details/16862125
http://blog.csdn.net/ztp800201/article/details/16862125
http://blog.csdn.net/ztp800201/article/details/16862125
android中UI应用的开发中经常会使用view.setVisibility()来设置控件的可见性,其中该函数有3个可选值,他们有着不同的含义:
View.VISIBLE--->可见
View.INVISIBLE--->不可见,但这个View仍然会占用在xml文件中所分配的布局空间,不重新layout
View.GONE---->不可见,但这个View在ViewGroup中不保留位置,会重新layout,不再占用空间,那后面的view就会取代他的位置,
所以在使用时要小心,尤其要善用INVISIBLE和GONE;