要以編程方式設置佈局參數(寬度,高度和邊距)或將LayoutParams自設置爲特定佈局,父母必須知道。獲取用作列表視圖的自定義行的根xml佈局的LayoutParams
實施例1
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
someLayout.setLayoutParams(lp);
這裏,someLayout類型不是真正需要是已知的。 LinearLayout.LayoutParams意味着someLayout的父級是LinearLayout。
實施例2
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams)someLayout.getLayoutParams();
lp.width = LayoutParams.MATCH_PARENT;
lp.height = LinearLayout.LayoutParams.MATCH_PARENT;
來的問題,當父類型是未知的。實現一個可定製的列表視圖行佈局將導致一個未知的父行的情況。擁有列表項目的父級。
實例佈局列表視圖項
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/country"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal|top">
.
.
</LinearLayout>
這裏面去查看返回在適配器類的getView方法。
如何將LayoutParams設置爲ID爲@+id/country
的佈局???
我真正關心的是將邊距設置爲該佈局。
ViewGroup.LayoutParams沒有邊距屬性 – hasan83
AbsListView.LayoutParams too – hasan83
哦,對不起。我跳過了最後一行。我已經更新了我的答案。 – ivagarz