ImageView.getWidth () renvoie 0

- Je obtenir de l'imageView largeur de 0. Ci-dessous est le code.

fichier xml :

<ImageView
        android:id="@+id/img"
        android:layout_width="200dp"
        android:layout_height="200dp" />

Activité :

@Override
protected void onResume() {
    super.onResume();
    ImageView img = (ImageView) findViewById(R.id.img);
    Log.d(TAG, "width : " + img.getWidth());
}

Je ne veux pas utiliser de code ci-dessous que j'ai besoin de placer ce code dans de nombreux endroits.

ViewTreeObserver vto = img.getViewTreeObserver();
    vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
        public boolean onPreDraw() {
            ImageView img = (ImageView) findViewById(R.id.img);
                    Log.d(TAG, "width : " + img.getWidth());
            return true;
        }
    });

Ma solution :
J'ai effectivement plus tard, n'a pas besoin d'ajouter ce code dans une activité. Je l'ai ajouté à un non-activité de la classe et au lieu de l'ImageView de la largeur, j'ai utilisé de l'image Bitmap largeur et maintenant n'ont pas ce problème.

source d'informationauteur Geek | 2013-10-09