layout_gravity对我的CirclePagerIndicator不起作用

时间:2013-05-14 14:29:17

标签: android android-layout viewpagerindicator

我想将CirclePagerIndicator设置在左侧。所以我在资源中使用了这段代码: android:layout_gravity = "left"我已经知道,当parent_layout的方向是垂直的时,layout_gravity正在工作,但我的CirclePagerIndicator的布局位于centernot left。这是我的xml布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingLeft="10dip" >

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"" >

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/priority_icon"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:visibility="gone" />

            <LinearLayout
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:orientation="vertical"
                android:paddingLeft="10dip" >

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="0dip"
                    android:layout_marginBottom="4dip"
                    android:layout_weight="2"
                    android:gravity="center_vertical"
                    android:lines="1"
                    android:singleLine="true" />

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="0dip"
                    android:layout_marginBottom="4dip"
                    android:layout_weight="1"
                    android:gravity="center_vertical"
                    android:lines="1"
                    android:singleLine="true" />

            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <RelativeLayout
                android:id="@+id/relative_container"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <android.support.v4.view.ViewPager
                    xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/pager"
                    android:layout_width="80sp"
                    android:layout_height="100sp" />

                <ProgressBar
                    android:id="@+id/progress"
                    style="?android:attr/progressBarStyleSmallInverse"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:visibility="visible" />
            </RelativeLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical" >

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dip"
                    android:lines="1"
                    android:singleLine="true"
                    android:textColor="@color/BLACK" />

                <com.viewpagerindicator.CirclePageIndicator
                    android:id="@+id/indicator"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingTop="10dip"
                    android:layout_gravity = "left" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageButton
                android:id="@+id/time_reporting_btn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingTop="6dip"
                android:src="@drawable/clock"
                android:text="@string/time_reporting" />

            <ImageButton
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingTop="6dip" />
        </LinearLayout>

        <ProgressBar
            android:id="@+id/progressbar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:max="100"
            android:progress="0" />
    </LinearLayout>

</LinearLayout>

你能帮帮我吗?

3 个答案:

答案 0 :(得分:1)

在设置了CirclePageIndicator的LinearLayout中,重力属性正在运行,但是在左侧放置了一个RelativeLayout,因此您的CirclePageIndicator不能位于左侧,这是正常的,因为有alredy那里的RelativeLayout。我不知道你是否要求这个,如果没有,请更好地解释

答案 1 :(得分:1)

在我看来,CirclePageIndicator尽可能地离开了。它位于ViewPager的右侧,在水平方向的LinearLayout中布置在它之前,它是两者的祖父。

您可能应该在lint工具中查看此布局。你可以把它清理干净......

答案 2 :(得分:0)

   <com.viewpagerindicator.CirclePageIndicator
    :::::::::::
    :::::::::::
    android:layout_alignParentLeft="true"
    :::::::::::
    ::::::::::: />