添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
开朗的大白菜  ·  Dandy⁃Walker ...·  2 月前    · 
@Override protected void onMeasure ( int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension( 100 , 100 ); float downX, downY; float moveX, moveY; @Override public boolean onTouchEvent (MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { downX = event.getRawX(); downY = event.getRawY(); if (event.getAction() == MotionEvent.ACTION_MOVE) { moveX = event.getRawX(); moveY = event.getRawY(); this .setX(getX() + (moveX - downX)); this .setY(getY() + (moveY - downY)); downX = moveX; downY = moveY; return true ; // 返回true 表示 处理Touch事件 // return super.onTouchEvent(event);
public class MainActivity extends Activity {
    LinearLayout linear;
    RelativeLayout relative;
    FrameLayout frame;
    AbsoluteLayout absolute;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        linear = (LinearLayout) findViewById(R.id.linear);
        relative = (RelativeLayout) findViewById(R.id.relative);
        frame = (FrameLayout) findViewById(R.id.frame);
        absolute = (AbsoluteLayout) findViewById(R.id.absolute);
        linear.addView(new TouchView(this));
        relative.addView(new TouchView(this));
        frame.addView(new TouchView(this));
        absolute.addView(new TouchView(this));

源代码下载地址:http://download.csdn.net/detail/angcyo/8953263

至此: 文章就结束了,如有疑问: QQ群:274306954 欢迎您的加入.

ConstrainLayout是一款布局View,再Design库中,现已被大家广泛接受并使用。ConstrainLayout的布局采用的方式和其他都不同,他的对其方式是类似RelativeLayout,但是和RelativeLayout有明显的区别。 在布局渲染的时候,ConstrainLayout的子View是通过在一个容器中找到自己的位置,通过位置和对其方式来固定,所以在布局优化中,尝尝被提起到。
其中,`newX`和`newY`分别表示控件的新坐标。使用`setX()`和`setY()`方法可以改变控件的位置。需要注意的是,这些方法设置的是控件的左上角坐标,而不是中心点坐标。如果需要将控件移动到指定的中心点位置,可以通过以下代码实现: // 获取控件 View view = findViewById(R.id.view); // 获取控件宽度和高度 int width = view.getWidth(); int height = view.getHeight(); // 设置新的位置 int centerX = newX + width / 2; int centerY = newY + height / 2; view.setX(centerX); view.setY(centerY); 其中,`width`和`height`分别表示控件的宽度和高度,`centerX`和`centerY`分别表示控件中心点的坐标。