3
Ich möchte Schaltfläche in die Mitte verschieben, zeigen Sie es, dann in die Ecke bewegen.beginDelayedTransition funktioniert nicht, zeigt nur die endgültige Sichtposition
Aber es wird sich nicht bewegen, es erscheint sofort in der Ecke. Warum?
upd Android 5.1, API 22.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// remember true position/size
final RelativeLayout.LayoutParams layoutParams_= (RelativeLayout.LayoutParams) mapFollowButton.getLayoutParams();
// create temp position/size from which will move
final RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams((int) (150*density), (int) (150*density));
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
mapFollowButton.setLayoutParams(layoutParams);
mapFollowButton.setVisibility(View.INVISIBLE);
mapFollowButton.invalidate();
final ChangeBounds transition= new ChangeBounds();
transition.setDuration(1000L);
TransitionManager.beginDelayedTransition((ViewGroup) findViewById(R.id.mainRL),transition);
//here expected to move to true position from center
mapFollowButton.setLayoutParams(layoutParams_);
mapFollowButton.setVisibility(View.VISIBLE);
} else
mapFollowButton.setVisibility(View.VISIBLE);
und für XY setX() nicht verwenden, verwenden Sie layoutParams.setMargins() – djdance