2016-10-27 4 views
1

Как удалить пустое пространство, как показано в пунктирной коробке внизу изображения от BrowseFragment. Мне удалось удалить кнопку поиска и название. Хотя, я также хочу удалить пустое пространство и переместить строку видео в верхней части экрана.Удалить верхнее поле от BrowseFragment в Android TV

Есть ли способ сделать это?

Я попытался установить следующее в моем AppTheme, но я сомневаюсь, что это помогает:

<item name="browseRowsMarginTop">0dp</item> 
    <item name="browsePaddingTop">0dp</item> 

enter image description here

+0

Вы можете сделать это путем изменения 'Leanback layouts' себя. –

+0

Я попытался изменить следующее: 'FrameLayout topHeader = (FrameLayout) getView(). FindViewById (R.id.browse_headers_dock); topHeader.setVisibility (View.GONE); 'Но это не удаляет это пространство. можете ли вы предложить, какой макет я должен искать для редактирования? – astuter

+0

Проверьте мой ответ и сообщите мне, если вы столкнетесь с какой-либо проблемой. –

ответ

5

Вы можете сделать это, используя его dimens.xml, которая предусмотрена в v17 Lean Back библиотеке.

Follow the steps below first.

  1. Перейти к вашему sdk ->extras ->android ->support ->v17 ->leanback ->res ->values.

  2. От их копии dimens.xml файл в ваш текущий проект понижения values папка.

  3. Теперь у вас есть файл dimens.xml внутри вашего проекта. values.

  4. Открыть этот файл и найти ниже dimen.

Значение по умолчанию может быть 167dp дано.

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

Так изменить его вокруг 30dp или в соответствии с вашими потребностями.

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

вы получите строки в Browse Fragment.

+1

Удивительный мужчина! Большое спасибо за ваши усилия :) – astuter

0

Если вам нужно удалить запас заголовка только фрагмент вместо глобально перезаписать BrowseFragment:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = super.onCreateView(inflater, container, savedInstanceState); 
    FrameLayout containerDock = (FrameLayout) view.findViewById(R.id.browse_container_dock); 
    FrameLayout.MarginLayoutParams params = (FrameLayout.MarginLayoutParams) containerDock.getLayoutParams(); 
    Resources resources = inflater.getContext().getResources(); 
    int newHeaderMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, resources.getDisplayMetrics()); 
    int offsetToZero = -resources.getDimensionPixelSize(R.dimen.lb_browse_rows_margin_top); 
    params.topMargin = offsetToZero+newHeaderMargin; 
    containerDock.setLayoutParams(params); 
    return view; 
} 
+0

, где мы должны добавить его? –

+0

@AparAmin расширяет BrowseFragment и перезаписывает метод onCreateView public class CustomBrowseFragment extends BrowseFragment {} – IanZ

Смежные вопросы