使用默认的ListRowPresenter会出现边距问题,如下:

只要能获取id为row_content的HorizontalGridView就可以修改,效果如下?

需要修改行的样式即可?
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ArrayObjectAdapter rowAdapter = new ArrayObjectAdapter(new ListRowPresenter(){
@Override
protected RowPresenter.ViewHolder createRowViewHolder(ViewGroup parent) {
//获取grdiview修改
ListRowView rowView = new ListRowView(parent.getContext());
rowView.getGridView().setPadding(0,0,0,0);
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) rowView.getGridView().getLayoutParams();
lp.topMargin = 0;
lp.bottomMargin = 0;
lp.leftMargin = 0;
lp.rightMargin = 0;
rowView.getGridView().setLayoutParams(lp);
return new ViewHolder(rowView, rowView.getGridView(), this);
}
});
for (int i = 0; i < 5; i++) {
ArrayObjectAdapter cardAdapter = new ArrayObjectAdapter(new HomePresenter());
cardAdapter.add(i+"-aaa");
cardAdapter.add(i+"-bbb");
cardAdapter.add(i+"-ccc");
rowAdapter.add(new ListRow(cardAdapter));
}
setAdapter(rowAdapter);
}
|