简体   繁体   中英

How to get width and height of a view

I have a class called game that extends View that is added to a LinearLayout. I know that it is displaying my View but i need to get the width and height of the view in order to draw some of my images. Here is my constructor code:

public Game(Activity activ)
{
    activ.setContentView(R.layout.game);

    ...

    ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT,
            LayoutParams.FILL_PARENT);
    setLayoutParams(lp);

    layout = (LinearLayout)activ.findViewById(R.id.game_layout);
    layout.addView(this);

    ...
}

now when i do this.getWidth() and this.getHeight() i keep getting a return value of 0. How can i get the width and the height of my view?

I answered a similar question today. Try that. It should work.

Android - getting the width of a button which is set to wrap_content

You can use layout.getLayoutParams() to get the layout param, and then use the height attribute in it.

UPDATE: If you are getting zero value, it could also mean that the view has not been initialized yet.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM