【问题标题】:ViewPagerIndicator not showing upViewPagerIndicator 未显示
【发布时间】:2016-07-12 17:35:42
【问题描述】:

我在我的横向应用程序上使用JakeWharton 的 ViewPagerIndicator,但我认为我搞砸了布局。 ViewPagerIndicator 不显示。我刚开始学习 Android 开发,因此非常感谢您的帮助!

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

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

编辑:我将指示器高度设置为包裹内容,但现在它浮动在屏幕顶部。怎么让它下去?

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>

【问题讨论】:

  • 使用相对并在ViewPagerIndicator上设置android:layout_alignParentBottom="true"
  • @hello_world 这行得通!谢谢!

标签: java android user-interface


【解决方案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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多