1. android:padding和android:layout_margin
android:layout_margin:指该控件距离边父控件的边距。 android:layout_marginLeft:指该控件的左边缘距离边父控件的边距。
android:padding:指该控件内容距离控件边缘的距离;例如,TextView中的文本距离TextView自身的边距。 android:paddingLeft:指该控件内容的左边缘距离控件的距离;例如,TextView中的文本的左边缘距离TextView自身的边距。
示例
android:layout_width="100dip"
android:layout_height="100dip"
android:padding="10dip"
android:layout_margin="20dip"
/>
说明:MyView是一个自定义视图。 (01) android:padding="10dip",意味着它的内容距离MyView视图本身的上下左右边距都是10dip。 (02) android:layout_margin="20dip",意味着MyView距离"它的父容器"的上下左右边距都是20dip。
2. View的相关位置
View的位置涉及到TransformationInfo。TransformationInfo记录的是在View发生"缩放/旋转"等变化时的大小,如果没有发生"缩放/旋转",则TransformationInfo记录的位置信息都是0。
关于水平方向的位置: getPaddingLeft():指该控件内容的左边缘距离控件自身的距离。 getLeft(): 该View相对于"父view"的x坐标。 getX():TransformationInfo.mTranslationX + getLeft()的值。
同理, getPaddingLeft():指该控件内容的上边缘距离控件自身的距离。 getTop(): 该View相对于"父view"的y坐标。 getY():TransformationInfo.mTranslationY + getTop()的值。
3. MotionEvent点击事件的相关位置
getX(): 触摸点相对于"监听该点击事件的控件"的x坐标。 getRawX():触摸点相对于屏幕的x坐标。
同理, getY(): 触摸点相对于"监听该点击事件的控件"的y坐标。
getRawY():触摸点相对于屏幕的y坐标。
//----------------------------------------分割---------------------------------------
TranslateAnimation ta = new TranslateAnimation(0f, 100f, 0, 0);
ta.setDuration(10000);
ta.setFillAfter(true);
imageview.setTranslationX(10);
imageview.startAnimation(ta); View的setTransLationX()方法,设置偏移量,相当于可以看到图片从0直接到10这个位置,动画从10开始执行的。当第二次执行的时候,直接从10这个位置执行动画。