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 View class has both a getHeight() and getWidth method:
http://developer.android.com/reference/android/view/View.html#getHeight () http://developer.android.com/reference/android/view/View.html#getWidth ()
Here's a blog on the subject as well:
http://syedrakibalhasan.blogspot.com/2011/02/how-to-get-width-and-height-dimensions.html
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.