I tried to combine leanback with xml, but I had some problem - padding the leanback row is different from padding other elements. How can I change padding to RowsSupportFragment?
In xml
<RelativeLayout
android:id="@+id/tags_container"
android:layout_below="@+id/guidance_icon"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="50dp"/>
And in java code
RelativeLayout tags = view.findViewById(R.id.tags_container);
ScreenshotFragment = FragmentScreenshots.newInstance(mFilm);
getChildFragmentManager()
.beginTransaction()
.replace(tags.getId(), ScreenshotFragment)
.commit();
class FragmentScreenshots
public static class FragmentScreenshots extends RowsSupportFragment {
private Film mFilm = null;
public static FragmentScreenshots newInstance(Film film) {
FragmentScreenshots fragment = new FragmentScreenshots();
Bundle args = new Bundle();
args.putSerializable(ActivityFilm.PARAM_FILM, film);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ListRowPresenter presenter = new CompatibleListRowPresenter(false, false, true);
ArrayObjectAdapter mRowsAdapter = new ArrayObjectAdapter(presenter);
List<AbstractCard> list = new ArrayList<>();
setAdapter(mRowsAdapter);
...
}
}
}
I found where I can edit the padding on RowsSupportFragment.
In your activity theme add the item
<item name="rowHorizontalGridStyle">@style/CustomHorizontalGridView</item>
And in CustomHorizontalGridView u can edit padding
<style name="CustomHorizontalGridView">
<item name="android:focusable">true</item>
<item name="android:focusableInTouchMode">true</item>
<item name="android:paddingStart">@dimen/your_padding</item>
<item name="android:paddingEnd">@dimen/your_padding</item>
<item name="android:paddingBottom">@dimen/lb_browse_item_vertical_spacing</item>
<item name="android:paddingTop">@dimen/lb_browse_item_vertical_spacing</item>
<item name="android:horizontalSpacing">@dimen/lb_browse_item_horizontal_spacing</item>
<item name="android:verticalSpacing">@dimen/lb_browse_item_vertical_spacing</item>
<item name="focusOutFront">true</item>
</style>