Was
RelativeLayout mlayout = findViewById(R.id.yourID);
float x = mlayout.getX();
float y = mlayout.getY();
Position bearbeiten dieses make Kind in derselben Position, wenn Eltern MATCH_PARENT
oder WARO_CONTENT
sein: von Resizing layouts programmatically (as animation)
Sie müssen also die endgültige Höhe und Breite, ma Sie können es unsichtbar machen, zu WRAP_CONTENT wechseln, neue Höhe und Breite messen, zurück ändern, sichtbar machen und die Größe mit Code oben auf neue Höhe und Breite animieren. Ich kenne leider keinen besseren Weg.
Dann animieren Breite:
Instantiate ResizeAnimation
ResizeAnimation resizeAnimation = new ResizeAnimation(
view,
targetHeight,
startHeight,
targetWidth,
startWidth
);
resizeAnimation.setDuration(duration);
view.startAnimation(resizeAnimation);
ResizeAnimation
Klasse wie dieses
public class ResizeAnimation extends Animation {
final int targetHeight;
final int targetWidth;
View view;
int startHeight;
int startWidth;
public ResizeAnimation(View view, int targetHeight, int startHeight, targetWidth, int startWidth) {
this.view = view;
this.targetHeight = targetHeight;
this.startHeight = startHeight;
this.targetWidth = targetWidth;
this.startWidth = startWidth;
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
int newHeight = (int) (startHeight + targetHeight * interpolatedTime);
int newWidth= (int) (startWidth + targetWidth * interpolatedTime);
view.getLayoutParams().height = newHeight;
view.getLayoutParams().width = newWidth;
view.requestLayout();
}
@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
}
@Override
public boolean willChangeBounds() {
return true;
}
}
ok aussehen sollte, aber wie kann ich animieren thats Höhe und Breite von 'MATCH_PARENT' zu' INHALT_WARP' – medo