Android: при добавлении рисованного tabselector я получаю нежелательный apx. 5px отступ на моих вкладках

1

Хорошо, так как мой код ниже для добавления пользовательского внешнего вида к моим вкладкам (отлично работает), но я получаю границу (дополнение или какой-то урожай, который я предполагаю) вокруг моего рисуемого изображения. Как и где я могу это исправить?

Активность:

 TabHost mTabHost = getTabHost();
 Drawable mySelector = getResources().getDrawable(R.drawable.tabselector);
 mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("TAB 1" , mySelector).setContent(R.id.textview1));

partial tabselecter XML:

<selector
    android:id="@+id/myselector"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Non focused states -->
    <item
        android:state_focused="false"
        android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/darklogo"/>
    <item
        android:state_focused="false"
        android:state_selected="true"
        android:state_pressed="false"
        android:drawable="@drawable/lightlogo" />

Основной XML:

<TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:padding="0px"
            android:layout_marginBottom ="-4px"
            android:clipToPadding="false" />

Не разрешил мне опубликовать скриншот...

  • 0
    <selector android: id = "@ + id / myselector" xmlns: android = " schemas.android.com/apk/res/android "> <! - Не сфокусированные состояния -> <item android: state_focused = "false" android: state_selected = "false" android: state_pressed = "false" android: drawable = "@ drawable / darklogo" /> <item android: state_focused = "false" android: state_selected = "true" android: state_pressed = "false" android : drawable = "@ drawable / lightlogo" />
  • 0
    <TabWidget android: id = "@ android: id / tabs" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_alignParentBottom = "true" android: padding = "0px" android: layout_marginBottom = "- 4px" android: clipToPadding = "false" />
Показать ещё 1 комментарий
Теги:
tabwidget

1 ответ

0

На самом деле это довольно легко, если я прав.

Вам просто нужно установить атрибут variablePadding в true в элементе selector.

Вот как это должно выглядеть.

<selector
android:id="@+id/myselector"
android:variablePadding="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item
    android:state_focused="false"
    android:state_selected="false"
    android:state_pressed="false"
    android:drawable="@drawable/darklogo"/>
<item
    android:state_focused="false"
    android:state_selected="true"
    android:state_pressed="false"
    android:drawable="@drawable/lightlogo" />

Обратите внимание на строку три.

  • 0
    Это не сработало. Проблема в том, что когда я добавляю drawable в tabWidget, как указано выше, «item», вокруг рисованного элемента появляется небольшой отступ. Поэтому по умолчанию светло-серая вкладка на выделенном. Когда я добавляю рисунок, я вижу свой черный рисунок, но я также вижу небольшие 5px светло-серого цвета вокруг моего объекта. Это остается там, даже когда я увеличиваю размер прорисовки ... Мне нужно, чтобы прорисовка залила всю вкладку так, чтобы вы не увидели серый по умолчанию при выборе.
  • 0
    Не могли бы вы предоставить несколько скриншотов, потому что я серьезно не понимаю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню