我已经实现了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"

希望能帮上忙。

07-24 09:49
查看更多