0

xml でドローアブルを定義しました。

<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 のバグです。それを回避する方法はありますが、きれいなものはありません。

この質問を参照してください: 背景の Drawable を設定するとき、パディングはどこに行きますか?

于 2012-09-19T04:10:25.170 に答える