如何在页面查看器上叠加Android ViewPagerIndicator?

时间:2014-06-12 23:53:41

标签: android android-viewpager ontouchevent viewpagerindicator

我已经实现了JakeWharton Android-ViewPagerIndicator。我分享了我的屏幕。 这是一个两部分问题: -

1)我想将Page Indicator放在Page Viewer上。那就是页面查看器应该是全屏的,并且圆形页面指示符必须落在此上。我为应用程序制作了一个教程并希望使用它。它类似于Vine应用程序教程。我尝试过使用FrameLayout和RelativeLayout但是无法实现这一点。

这是我的代码和屏幕截图:

ViewPager_main.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="fill_parent"
  android:orientation="vertical" >

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />

<com.viewpagerindicator.UnderlinePageIndicator
    android:id="@+id/indicator"
    android:layout_width="fill_parent"
    android:layout_height="5dp" />

</LinearLayout> 

MainActivity.java

    viewPager = (ViewPager) findViewById(R.id.pager);
    adapter = new ViewPagerAdapter(MainActivity.this, rank, country,
            population, flag);
    viewPager.setAdapter(adapter);
    mIndicator = (UnderlinePageIndicator) findViewById(R.id.indicator);
    mIndicator.setFades(false);
    mIndicator.setViewPager(viewPager);

Screenshot 1

2)我想禁用向左滑动,我只想向前移动而不是向后移动。我该怎么做呢。我尝试通过检查上一页编号和当前页码来修改circularpageindicator类。如果前一页码是>那么当前我什么都不做。这适用于指标,但页面查看器仍在移动。

1 个答案:

答案 0 :(得分:0)

尝试将此指标覆盖在ViewPager上

<?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">
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="240dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:id="@+id/pager"/>

     <com.viewpagerindicator.UnderlinePageIndicator
        android:id="@+id/indicator"
        android:padding="5dip"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="4dp"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"/>
</RelativeLayout>

如果您想将指标放在顶部而不是底部,请更改

android:layout_alignParentBottom="true"
android:layout_marginBottom="4dp"

android:layout_alignParentTop="true"
android:layout_marginTop="4dp"

希望得到这个帮助。