【发布时间】: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