Views getWidth () und getHeight () geben 0 zurück
Ich habe mir die ähnlichen Fragen und versucht Ihre Lösungen, aber es hat nicht funktioniert für mich. Ich versuche, die Breite der Bildansicht, aber es gibt 0 zurück. Hier ist der code:
public class MainActivity extends Activity {
private ImageView image1;
float centerX,centerY;
private ImageView image2;
private boolean isFirstImage = true;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rotate);
image1 = (ImageView) findViewById(R.id.ImageView01);
image2 = (ImageView) findViewById(R.id.ImageView02);
image2.setVisibility(View.GONE);
if (isFirstImage) {
applyRotation(0, 90);
isFirstImage = !isFirstImage;
}
}
private void applyRotation(float start, float end) {
centerX=image1.getWidth()/2.0f;
centerY=image1.getHeight()/2.0f;
final Flip3dAnimation rotation =
new Flip3dAnimation(start, end,centerX , centerY);
rotation.setDuration(500);
rotation.setFillAfter(true);
rotation.setInterpolator(new AccelerateInterpolator());
rotation.setAnimationListener(new DisplayNextView(isFirstImage, image1,
image2));
if (isFirstImage)
{
image1.startAnimation(rotation);
} else {
image2.startAnimation(rotation);
}
}
}
Kann mir jemand helfen mit diesem? Dank
InformationsquelleAutor der Frage yrazlik | 2013-08-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die onSizechanged() Methode.
InformationsquelleAutor der Antwort Kerry
Sind Sie entweder Zugriff auf die ImageViews Breite und Höhe bevor es gemessen wurde, oder nach dem festlegen seiner Sichtbarkeit VORBEI.
Dann getWidth() bzw. getHeight() 0 zurück.,
Können Sie auch einen Blick auf onWindowFocusChanged(), onSizeChanged() und onMeasure():
InformationsquelleAutor der Antwort Philipp Jahoda
Sollten Sie verwenden:
image1.getLayoutParams().width;
InformationsquelleAutor der Antwort Incredible
Bildansicht noch nicht das Bild gezeichnet werden soll, so dass keine Breite oder Höhe zurück.
Sie können eine Unterklasse, um die Bildansicht Breite.
Hier finden Sie einige link-stellen Sie eine weitere einfache Methoden:
Wie man die Breite und Höhe eines Androiden.- widget.Bildansicht?
Wie man die Breite und Höhe eines Bildes Anzeigen in android?
Android Bildansicht return getWidth, getHeight null
Hoffe, dies hilft Ihnen.
InformationsquelleAutor der Antwort Sonny Ng
können Sie OnGlobalLayoutListener für die Bildansicht image1, so können Sie die genaue Breite und Höhe besetzt, die von der view in das layout...wie
InformationsquelleAutor der Antwort San
Durch die Art und Weise, Ansichten nicht bekommen Größe, bis die Messung Schritte unternommen. Finden Sie unter diesem link:
getWidth() und getHeight() gibt 0 zurück, Ansicht
InformationsquelleAutor der Antwort Adam Ruhl
Sollten Sie vielleicht rufen Sie Ansicht.Maßnahme(int,int).
Da die Breite und Höhe ist nicht definiert, bis diese Ansicht ziehen. Sie können call-Messen mit der hand, um die Durchsetzung dieser Ansicht zu berechnen, es ist eine Größe;
InformationsquelleAutor der Antwort landerlyoung
Bitte mit einem Handler und erhalten Sie Höhe und Breite auf das mit einer delay-Zeit >= 10
Dies kann nützlich sein, für die Verwendung:
InformationsquelleAutor der Antwort Ngo Thi Nham