Leanback VerticalGridFragment删除顶部间距

时间:2016-08-18 09:13:26

标签: android android-layout leanback

我正在使用VerticalGridFragment以类似网格的布局显示项目 我不需要显示搜索或标题,我希望行从屏幕顶部开始,没有任何边距。有任何帮助吗?example in the image below

3 个答案:

答案 0 :(得分:1)

  

First of follow this steps to move the rows up which is by default given margins by Lean back Library

1. Go to you SDK

2. Inside SDK -> extras -> android -> support -> v17 -> leanback -> res -> values.

3. Inside values folder copy the dimens.xml inside your current project and copy to your projects res -> values folder

  

Now you have the file name dimens.xml inside your values folder

     

Now open the dimens.xml file which you have copied

Change the value for property defined below. By default it will given 168dp around that. So make it less to decrease the top margin as i have given below.

<dimen name="lb_browse_rows_margin_top">35dp</dimen>

现在,您可以将行划分为 Browse Fragment顶部的正确行。

答案 1 :(得分:1)

您需要创建名称为CustomVerticalGridPresenter的新类,并在其中添加关注代码。

公共类CustomVerticalGridPresenter扩展了VerticalGridPresenter {

VerticalGridView gridView;

CustomVerticalGridPresenter(int zoom, boolean val){
    super(zoom, val);
}

@Override
protected void initializeGridViewHolder(ViewHolder vh) {
    super.initializeGridViewHolder(vh);
    gridView= vh.getGridView();
    int top= 20;//this is the new value for top padding
    int bottom= gridView.getPaddingBottom();
    int right= gridView.getPaddingRight();
    int left= gridView.getPaddingLeft();
    gridView.setPadding(left,top,right,bottom);
}

}

然后在verticalgridfragment类中使用

CustomVerticalGridPresenter videoGridPresenter =新的CustomVerticalGridPresenter(ZOOM_FACTOR,false);

代替

VerticalGridPresentervideoGridPresenter = new VerticalGridPresenter(ZOOM_FACTOR,false);

答案 2 :(得分:1)

解决此问题的另一种方法是设置VerticalGridView的windowAlignment属性。最值得注意的是...

verticalGridView.windowAlignment = BaseGridView.WINDOW_ALIGN_LOW_EDGE //this will remove the top margin
verticalGridView.windowAlignmentOffset = 0
verticalGridView.windowAlignmentOffsetPercent = 25f //find correct values for your case