614 Stimmen

Die Funktionen getWidth() und getHeight() der Ansicht geben 0 zurück.

Ich erstelle alle Elemente in meinem Android-Projekt dynamisch. Ich versuche, die Breite und Höhe einer Schaltfläche zu erhalten, so dass ich diese Schaltfläche drehen kann. Ich versuche gerade zu lernen, wie man mit der Android-Sprache arbeitet. Es wird jedoch 0 zurückgegeben.

Ich habe einige Nachforschungen angestellt und festgestellt, dass dies nicht nur in der Datenbank geschehen muss. onCreate() Methode. Wenn mir jemand ein Beispiel dafür geben kann, wie man es macht, wäre das großartig.

Hier ist mein aktueller 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);
}

Für jede Hilfe sind wir dankbar.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X