ganesh
ganesh

Reputation: 1237

how to change the layout margin for an Android ListView Programmatically

I have defined a List View in xml as below

     <ListView android:id="@+id/mylist" 
           android:layout_width="fill_parent" 
           android:layout_height="wrap_content"
            android:cacheColorHint="#00000000"
           android:layout_weight="1"
           android:layout_marginTop="95dip"/>

And i need to re-define the layout margin upon some result in my programe ,how i can achieve this

Upvotes: 7

Views: 29590

Answers (2)

Danny Armstrong
Danny Armstrong

Reputation: 1310

More simply, you may be able to modify the existing MarginLayoutParams instance to modify the margin:

ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) mListView
        .getLayoutParams();

mlp.setMargins(adjustmentPxs, 0, 0, 0);

break;

Upvotes: 24

James
James

Reputation: 576

If you get hold of the ListView object in your Activity you can use the method setLayoutParams(), passing in an instance of android.view.ViewGroup.MarginLayoutParams.

Upvotes: 6

Related Questions