我正在使用ViewPagerIndicator
制作图片幻灯片,以显示幻灯片中的当前位置。当我按照文档中的描述使用它时,一切正常,但我希望ViewPager
和CirlePagerIndicator
包含在我提供边框的布局中。当我尝试这样做时,只有ViewPager
位于顶部且我无法看到CirclePagerIndicator
。
那么如何在CirclePagerIndicator
之上获取ViewPager
?
这是我的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_margin="3dp"
android:background="@drawable/stroke"
android:layout_weight="0.33">
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/view_pager"
android:layout_width="fill_parent"
android:padding="10dp"
android:layout_height="fill_parent"/>
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/titles"
android:layout_height="wrap_content"
android:padding="3dp"
android:layout_width="fill_parent" />
</RelativeLayout>
<LinearLayout
.
.
.other stuffs
我知道RelativeLayout
内的项目放在一个z顺序堆栈中。所以我将CirclePagerIndicator
放在下面,以便它显示在顶部。此外,通过这样做,我将能够捕获ViewPager
上的触摸事件?
这就是我将图片添加到ViewPager
@Override
public Object instantiateItem(ViewGroup container, int position)
{
Context context = LoginActivity.this;
ImageView imageView = new ImageView(context);
imageView.setImageResource(myImages[position]);
imageView.setScaleType(ScaleType.CENTER_INSIDE);
((ViewPager) container).addView(imageView, 0);
return imageView;
}
答案 0 :(得分:2)
如果您希望它位于顶部,请将其添加到顶部。使用属性android:layout_alignParentTop="true"
并在ViewPager
CirclePageIndicator
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/titles"
android:layout_height="wrap_content"
android:padding="3dp"
android:layout_alignParentTop="true" // Here this will put it on top
android:layout_width="fill_parent" />
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/view_pager"
android:layout_width="fill_parent"
android:padding="10dp"
android:layout_below="@id/titles" // Here this will put it below CirclePageIndicator
android:layout_height="fill_parent"/>
答案 1 :(得分:0)
解决了,这是怎么回事。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_margin="3dp"
android:background="@drawable/stroke"
android:layout_weight="0.33">
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/view_pager"
android:layout_width="fill_parent"
android:padding="10dp"
android:layout_height="fill_parent"/>
<com.viewpagerindicator.CirclePageIndicator
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/titles"
android:layout_height="wrap_content"
android:padding="3dp"
android:layout_alignParentBottom="true" //this line
android:layout_width="fill_parent" />
</RelativeLayout>