0

我在xml中定义了一个drawable:

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <padding
        android:bottom="1dp"
        android:left="0dp"
        android:right="0dp"
        android:top="5dp" />

    <corners
        android:bottomLeftRadius="0.1dp"
        android:bottomRightRadius="0.1dp"
        android:topLeftRadius="15dp"
        android:topRightRadius="15dp" />

</shape>

并在布局 xml 中使用它:

<RelativeLayout
    style="@style/TabHeader"
    android:background="@drawable/_moremsg_tab_back" >

    <TextView
        android:id="@+id/text"
        style="@style/TabText"
        android:text="TODO" />

</RelativeLayout>

效果是(第一个选项卡):

在此处输入图像描述

单击其他选项卡时,我通过代码将可绘制对象添加为背景:

v.setBackgroundDrawable(getResources().getDrawable(R.drawable._moremsg_tab_back));

但它与第一​​个显示不同:

在此处输入图像描述

如何解决?

4

1 回答 1

2

我相信当您在代码中设置可绘制对象时会删除填充。

我知道这不是您想听到的,但这是一个 android 错误。有办法绕过它,但没有什么干净的。

看到这个问题: 当设置背景可绘制时,填充去了哪里?

于 2012-09-19T04:10:25.170 回答