知道为什么我的列表视图的页脚总是在左边?这是我的xml布局。在添加更多数据需要时添加和删除页脚。我希望TextView和ProgressBar成为中心
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:orientation="horizontal"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="12sp"
android:textColor="@color/author_text"
android:text="LOADING DATA..."
/>
<ProgressBar
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginLeft="10dp"
/>
</LinearLayout>
答案 0 :(得分:7)
好的,问题不在于OP中显示的页脚视图;它确实工作得很好。问题是我的ListView将layout_width属性设置为wrap_content。这适用于所有列表渲染器,但不适用于页脚。将ListView更改为fill_parent修复它
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/MyList"
/>
谢谢帮派
[解决]
答案 1 :(得分:1)
水平LinearLayout将从左到右放置其视图。在确定水平定位时,它会忽略任何重力或layout_gravity属性(尽管这些属性会影响垂直定位)。您需要使用RelativeLayout或嵌套垂直LinearLayout以获得视图的水平居中。
或者,你可以给TextView一个layout_weight为1,这将导致它占用任何额外的空间。因为它将文本居中,这应该会给你你想要的效果。
编辑:既然我明白你想要什么,那就应该这样做:<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:layout_gravity="center_horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="12sp"
android:textColor="@color/author_text"
android:text="LOADING DATA..."
/>
<ProgressBar
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginLeft="10dp"
/>
</LinearLayout>
</LinearLayout>
你可以通过某种方式使用RelativeLayout来避免嵌套的LinearLayout,但首先想到这一点。
答案 2 :(得分:0)
尝试将其layout_width设置为match_parent