header 视图的 ListView drawableLeft 更改位置

ListView drawableLeft of header view changes position

我正在将布局屁股 header视图附加到我的列表视图。然而,当我这样做时,它失去了它的风格(即 drawableLeft 改变位置)。

这是 header 视图:

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/header"
    style="@style/header"
    android:drawableLeft="@drawable/ic_setup"
    android:text="@string/fragment_contacts"
    android:contentDescription="@string/fragment_contacts"
    android:textSize="@dimen/text_size_medium"
    android:layout_gravity="center_horizontal"
    android:onClick="readMe"
    android:textColor="?attr/color1" />

这就是我将它添加到列表视图的方式

        ((TextView) header).setText(getString(R.string.fragment_favorites));
        listView.addHeaderView(header, null, false);

这是渲染 listView 并且 drawableLeft 改变位置时的最终结果:

如何将 DrawableLeft 保持在文本旁边的正确位置?

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal">

    <TextView
        android:id="@+id/YOUR_TEXTVIEW"
        ....
        />

</FrameLayout>