添加到列表视图的左边距 header 没有应用任何布局参数

left margin added to listview header without applying any layout parameters

我有一个由 ListViewHeaderView 填充的视图,我的问题是左边距应用到来自未知来源的 HeaderView 因为我没有应用任何布局边距或填充到布局,既不是通过 xml 也不是以编程方式。

这是正常的 ListView 行为吗?

列表视图布局

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



    <ListView
        android:id="@+id/archos_list_view"
        style="@style/ArchosGridView"
        android:layout_alignWithParentIfMissing="true"
        android:divider="@null"
        android:dividerHeight="@dimen/content_list_vertical_spacing_between_items" />

    

</RelativeLayout>

我通过断点查找 headerview 的父级发现了问题,并找到了 ListView 这是问题的根源,它是应用于 ListViewstyle="@style/ArchosGridView" ,所以这是问题的根源

ArchosGridView

<style name="ArchosGridView">
        <item name="android:id">@id/browser_items</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:paddingTop">10dip</item>
        <item name="android:paddingLeft">@dimen/content_list_left_margin</item>
        <item name="android:paddingRight">@dimen/content_list_right_margin</item>
        <item name="android:clipToPadding">false</item>

        <item name="android:textSize">18sp</item>
        <item name="android:drawSelectorOnTop">false</item>
        <item name="android:fastScrollEnabled">false</item><!-- true lead to errors on 4.0 -->
        <item name="android:choiceMode">singleChoice</item>
        <item name="android:cacheColorHint">#00000000</item>
        <item name="android:textFilterEnabled">true</item>
        <item name="android:scrollbarStyle">outsideOverlay</item>
    </style>

问题是 @dimen/content_list_left_margin 应用了 4 个倾角(正是我预期的数量)但正确的是 0,

<dimen name="content_list_left_margin">4dip</dimen>
<dimen name="content_list_right_margin">0dip</dimen>

所以我将 4dip 更改为 0dip 并解决了问题