Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

View's getWidth() and getHeight() returning 0

Tags:

I have looked at the similar questions and tried their solutions, but it didn't work for me. I'm trying to read width of an imageView, but it is returning 0. Here is the 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);     } } } 

Can anyone help me with this? Thanks

like image 753
yrazlik Avatar asked Aug 16 '13 08:08

yrazlik


People also ask

How do you find the height and width of a view?

The width and height can be obtained by calling getWidth() and getHeight().

How do you find the height of a view?

You can use the window. innerHeight property to get the viewport height, and the window. innerWidth to get its width. let viewportHeight = window.


2 Answers

You need to use the onSizechanged() method.

This is called during layout when the size of this view has changed

like image 72
D-Dᴙum Avatar answered Nov 06 '22 14:11

D-Dᴙum


You should use: image1.getLayoutParams().width;

like image 41
Incredible Avatar answered Nov 06 '22 15:11

Incredible