Views getWidth () und getHeight () gibt 0 zurück

Ich bin erstellen alle Elemente in mein android-Projekt dynamisch. Ich werde versuchen, die Breite und Höhe der Schaltfläche so, dass ich drehen kann, dass die Schalter um. Ich versuche nur zu lernen, wie man mit der android-Sprache. Jedoch, es gibt Sie 0 zurück.

Habe ich einige der Forschung, und ich sah, dass es getan werden muss, um irgendwo anders als in der onCreate() Methode. Wenn jemand kann mir ein Beispiel, wie es zu tun, das wäre toll.

Hier ist mein Derzeitiger code:

package com.animation;

import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.LinearInterpolator;
import android.view.animation.RotateAnimation;
import android.widget.Button;
import android.widget.LinearLayout;

public class AnimateScreen extends Activity {


//Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LinearLayout ll = new LinearLayout(this);

    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    layoutParams.setMargins(30, 20, 30, 0);

    Button bt = new Button(this);
    bt.setText(String.valueOf(bt.getWidth()));

    RotateAnimation ra = new RotateAnimation(0,360,bt.getWidth() / 2,bt.getHeight() / 2);
    ra.setDuration(3000L);
    ra.setRepeatMode(Animation.RESTART);
    ra.setRepeatCount(Animation.INFINITE);
    ra.setInterpolator(new LinearInterpolator());

    bt.startAnimation(ra);

    ll.addView(bt,layoutParams);

    setContentView(ll);
}

Jede Hilfe ist willkommen.

InformationsquelleAutor der Frage ngreenwood6 | 2010-08-28

Schreibe einen Kommentar