Androidはどのようにビューを移動しますか?

2686 ワード

Androidはどのようにビューを移動しますか?
最近、会社がAndroid開発の学生を募集したところ、多くの学生がこの問題について限られていることが分かったので、いくつかの平行移動の方法を挙げて以下のようにしました.
1 ViewメソッドsetTranslationX setTranslationY
Android3.0バージョンからアニメーションのアトリビュートメソッドが追加されました
例:setTranslationX()setTranslationY()setRotation()setAlpha()
次のコードで移動を完了します.
TextView tv_test;
Button btn_test;
btn_test.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv_test.setTranslationY(500);
            }
        });

アトリビュートアニメーションのパンも、setTranslationメソッドを呼び出します.
btn_test.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ObjectAnimator animator = ObjectAnimator.ofFloat(tv_test,"translationX",50.0f);
                animator.setDuration(100);
                animator.start();
            }
        });

2 Viewメソッドlayout
Layout法はviewの位置と大きさを変えることができ,平行移動だけをするのは大物小用である.
次のコードで移動を完了します.
btn_test.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv_test.layout(0,550,tv_test.getMeasuredWidth(),550+tv_test.getMeasuredHeight());
            }
        });

3 ViewメソッドoffsetLeftAndRight offsetTopAndBottom
次のコードで移動を完了します.
btn_test.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv_test.offsetLeftAndRight(100);
                tv_test.offsetTopAndBottom(100);
            }
        });

注意:上記の方法では、オフセット量を表すパラメータもあれば、座標を表すパラメータもあります.