ViewPagerIndicator未显示

时间:2016-07-12 17:35:43

标签: java android user-interface

我在我的横向应用程序中使用JakeWharton的ViewPagerIndicator,但我认为我正在弄乱布局。 ViewPagerIndicator未显示。我刚开始学习Android开发,所以感谢任何帮助!

我的猜测是它与我的线性布局有关......它应该是相对的吗?我是否掩盖了寻呼机指示器?我知道如果我将指示器代码移到视图寻呼机上方,我会看到指示器,但其他一切都是白色的。我的片段布局是一个相对布局,其高度和宽度与父级匹配。

我的应用是一个带有片段的活动。

编辑:我设置指标高度以包装内容,但现在它浮动在屏幕顶部。我如何让它失效?

My_Activity.java

public class MyActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);

    ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
    MyPagerAdapter mAdapter = new MyPagerAdapter(getSupportFragmentManager());
    pager.setAdapter(mAdapter);
    CirclePageIndicator circleInd = (CirclePageIndicator) findViewById(R.id.circles);
    circleInd.setViewPager(pager);
    circleInd.setStrokeColor(0xAA000000);
    //circleInd.setCurrentItem(mAdapter.getCount() - 1);
}

private class MyPagerAdapter extends FragmentPagerAdapter {
    public MyPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int pos) {
        switch (pos) {
            case 0: return FirstFragment.newInstance("First");
            case 1: return SecondFragment.newInstance("Second");
            default: return FirstFragment.newInstance("First");
        }
    }

    @Override
    public int getCount() {
        return 2;
    }
}
}

和XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.frontrowqa.myfirstapplication.MyActivity">


<android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
</android.support.v4.view.ViewPager>

<com.viewpagerindicator.CirclePageIndicator
    android:id="@+id/circles"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:padding="10dp"
    android:layout_gravity="bottom" />

</LinearLayout>

我的片段

<?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:padding="20dp">

<EditText
    android:id="@+id/PasscodeText"
    android:layout_height="wrap_content"
    android:inputType="textPersonName"
    android:layout_width="fill_parent"
    android:hint="Passcode"
    android:backgroundTint="@android:color/black" />

<EditText
    android:id="@+id/ipAddressText"
    android:layout_below="@id/PasscodeText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="IP Address"
    android:backgroundTint="@android:color/black" />

<EditText
    android:id="@+id/intercomText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/ipAddressText"
    android:hint="Intercom Event Number"
    android:backgroundTint="@android:color/black"/>

<TextView
    android:id="@+id/tvFragFirst"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:textSize="26dp"
    android:text="TextView" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

将您的活动xml设置为:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


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

    <com.viewpagerindicator.CirclePageIndicator
        android:id="@+id/circles"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:padding="10dp" />

</LinearLayout>