Androidはどのようにビューを移動しますか?
2686 ワード
Androidはどのようにビューを移動しますか?
最近、会社がAndroid開発の学生を募集したところ、多くの学生がこの問題について限られていることが分かったので、いくつかの平行移動の方法を挙げて以下のようにしました.
1 ViewメソッドsetTranslationX setTranslationY
Android3.0バージョンからアニメーションのアトリビュートメソッドが追加されました
例:setTranslationX()setTranslationY()setRotation()setAlpha()
次のコードで移動を完了します.
アトリビュートアニメーションのパンも、setTranslationメソッドを呼び出します.
2 Viewメソッドlayout
Layout法はviewの位置と大きさを変えることができ,平行移動だけをするのは大物小用である.
次のコードで移動を完了します.
3 ViewメソッドoffsetLeftAndRight offsetTopAndBottom
次のコードで移動を完了します.
注意:上記の方法では、オフセット量を表すパラメータもあれば、座標を表すパラメータもあります.
最近、会社が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);
}
});
注意:上記の方法では、オフセット量を表すパラメータもあれば、座標を表すパラメータもあります.