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));

部分选项卡选择器 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" />

不让我发截图...

4

1 回答 1

0

如果我说对了,这实际上很容易。

您只需在元素中设置variablePadding属性即可。trueselector

这是它的样子。

<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" />

注意第三行。

于 2010-09-08T18:07:17.867 回答