android:layout_alignParentBottom =“true”和android:gravity =“bottom”但是xml项仍然出现在顶部

时间:2015-04-06 20:14:14

标签: android xml

我不确定为什么会这样,但我已经指定了android:layout_alignParentBottom =" true"和android:gravity =" bottom"在我的(Android)xml布局中,但项目(包含carousel1的Horizo​​ntalScrollView)仍然出现在布局的顶部。

我不确定这个例子究竟出了什么问题。

提前致谢。

屏幕截图:

http://i.stack.imgur.com/wefnn.png

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="00dp"
    android:layout_marginTop="0dp"
    android:background="@drawable/background_faded"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentBottom="true"
        android:background="#000000"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:paddingLeft="20dip" >
    </LinearLayout>

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/imageView1" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginTop="0dp"
            android:background="@drawable/main_header_selector"
            android:orientation="vertical" >

            <HorizontalScrollView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentBottom="true"
                android:gravity="bottom"
                android:scrollbars="none" >

                <LinearLayout
                    android:id="@+id/carousel"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" />
            </HorizontalScrollView>
        </LinearLayout>
    </ScrollView>

</LinearLayout>

3 个答案:

答案 0 :(得分:0)

HorizontalScrollView,请勿使用layout_alignParentBottom,请使用android:layout_gravity="bottom"See LinearLayout.LayoutParams reference guide.

LinearLayout使用layout_gravity为其子级RelativeLayout使用layout_alignX,其中X为顶部,底部等。如果您愿意,可以将其保留为{{1}但是您的Horizo​​ntalScrollView的父级需要是layout_alignParentBottom。两种解决方案都应该达到同样的效果。

答案 1 :(得分:0)

试试这个布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="00dp"
    android:layout_marginTop="0dp"
    android:background="@drawable/background_faded"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:background="#000000"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:paddingLeft="20dip" >
    </LinearLayout>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginTop="0dp"
            android:background="@drawable/background_faded"
            android:orientation="vertical" >

            <HorizontalScrollView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentBottom="true"
                android:gravity="bottom"
                android:scrollbars="none" >

                <LinearLayout
                    android:id="@+id/carousel"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" />
            </HorizontalScrollView>
        </LinearLayout>
    </ScrollView>

</RelativeLayout>

答案 2 :(得分:0)

我将父LinearLayout更改为RelativeLayout,并且在ScrollView的linearlayout中删除了android:layout_alignParentBottom =“true”并添加了android:layout_gravity =“bottom”。我希望这能帮到您。这是xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="00dp"
    android:layout_marginTop="0dp"
    android:background="@drawable/background_faded"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentBottom="true"
        android:background="#000000"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:paddingLeft="20dip" >
    </LinearLayout>

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/imageView1" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_gravity="bottom"
            android:layout_marginTop="0dp"
            android:background="@drawable/main_header_selector"
            android:orientation="vertical" >

            <HorizontalScrollView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentBottom="true"
                android:gravity="bottom"
                android:scrollbars="none" >

                <LinearLayout
                    android:id="@+id/carousel"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" />
            </HorizontalScrollView>
        </LinearLayout>
    </ScrollView>

</RelativeLayout>