Reputation: 6912
I have a LinearLayout set height as match_parent as below:
<LinearLayout
android:id="@+id/list_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
I want to get the height of this LinearLayout.
I used the code below:
LinearLayout ll_list = (LinearLayout)findViewById(R.id.list_layout);
int h = ll_list.getHeight();
But it return null.
How can I do?
Upvotes: 13
Views: 25625
Reputation:
You need to wait View to be initialized first use View Tree Observer it waits until the view is created check out this
get layout height and width at run time android
Upvotes: 1
Reputation: 23962
First of all: your LinearLayout
id is left_layout
, not list_layout
.
Also, ll_list.getHeight()
will return 0 (as well as ll_list.getWidth()
) if it's not drawed yet.
Solution would be to get the height after your view is layouted:
ll_list.post(new Runnable(){
public void run(){
int height = ll_list.getHeight();
}
});
And make sure that your ll_list
is final
.
Upvotes: 44
Reputation: 40416
LinearLayout ll_list = (LinearLayout)findViewById(R.id.list_layout);
^^^^^^^^^^
Upvotes: 1