Как я могу удалить пробел между виджетом tab?

#android #tabs #android-2.3-gingerbread

#Android #вкладки #android-2.3-gingerbread

Вопрос:

Я хотел бы удалить интервал между tabwidgets. По умолчанию между вкладками имеется интервал около 1 пикселя. Я знаю, что некоторые приложения, такие как foursquare или posterous, могут удалить его. Как будет выглядеть код для этого? Я использую 2.3 API.

Спасибо за вашу помощь

Комментарии:

1. Что такое «интервал между tabwidgets»?

Ответ №1:

Вы можете использовать метод getTabHost().getTabWidget().setDividerDrawable(R.drawable.empty_divider), где R.drawable.empty_divider — простая форма размером 0 пикселей, например

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line" >
    <size
        android:width="0px"
        android:color="@android:color/black"
        android:dashWidth="0px"
        android:dashGap="0px" />
</shape>
  

Комментарии:

1. Привет, спасибо за вашу помощь. Действительно ценю это. Я сохранил этот XML как empty_divider.xml в разделе «папки для рисования». Но он по-прежнему не работает, когда я вызывал его, как вы объяснили. Я что-то упускаю?

2. по некоторым причинам редактор StackOverflow вырезал последний закрывающий тег, взгляните на эту страницу руководства developer.android.com/guide/topics/resources /…

Ответ №2:

TabWidget android:showDividers =»нет»

Комментарии:

1. Привет, Шуиди, добро пожаловать в StackOverflow, пользователям будет полезнее, если вы сможете дать им немного больше описания, спасибо за ваш ответ..

Ответ №3:

Если ваша цель сборки — Honeycomb и далее, вы можете использовать следующий код.

 if (Integer.parseInt(Build.VERSION.SDK) >= Build.VERSION_CODES.HONEYCOMB) {
    tabHost.getTabWidget().setShowDividers(LinearLayout.SHOW_DIVIDER_NONE);
}
  

Комментарии:

1. Большое вам спасибо за это решение… Я столкнулся с аналогичной проблемой с устройствами ICS, и ваше решение отлично сработало для меня.

Ответ №4:

Я решаю эту же проблему с помощью этой строки кода:

  tabHost.getTabWidget().setDividerDrawable(null);
  

Ответ №5:

Вы можете добавить android:showDividers = «none» в Layout XML

 <TabWidget
    android:id="@android:id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:showDividers="none" />