我已经实现了jakewharton android viewpagerindicator。我分享了我的屏幕。
这是一个由两部分组成的问题:
1)我想把页面指示器放在页面查看器上。也就是说,页面查看器应该是全屏的,圆形页面指示器必须落在上面。我做了一个应用程序的教程,想用这个。它类似于vine应用程序教程。我试过使用framelayout和relativelayout,但未能实现这一点。
这是我的代码和屏幕截图:
viewpager\u 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>
main活动.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);
2)我想禁用向左滑动,即我只想向前移动而不是向后移动。我该怎么做。我试图通过检查前一个页码和当前页码来修改CircularPageIndicator类。如果上一个页码>当前页码,则我不执行任何操作。这对指示器有效,但页面查看器仍在移动。
最佳答案
尝试将指示器覆盖放到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"
希望能帮上忙。