在我的 android 应用程序中,我有一个 View 寻呼机,它本质上是图片的幻灯片放映。 这些图片是5个不同 fragment 的背景图
我想在上面放两个按钮,并且这些按钮固定在屏幕上。我该怎么做?
public class WhatIsThis extends SherlockFragmentActivity {
private static final int NUM_PAGES = 5;
private ViewPager mPager;
private PagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome_slides_view_pager);
// Instantiate a ViewPager and a PagerAdapter.
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
}
@Override
public void onBackPressed() {
if (mPager.getCurrentItem() == 0) {
super.onBackPressed();
} else {
mPager.setCurrentItem(mPager.getCurrentItem() - 1);
}
}
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}
@Override
public SherlockFragment getItem(int position) {
if(position == 1) {
return new WelcomeSlideFragmentA();
} else if (position == 2) {
return new WelcomeSlideFragmentB();
} else if (position == 3) {
return new WelcomeSlideFragmentC();
} else if (position == 4) {
return new WelcomeSlideFragmentD();
} else {
return new WelcomeSlideFragmentE();
}
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
}
welcome_slides_view_pager.xml:
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
最佳答案
您可以简单地将 welcome_slides_view_pager.xml 的内容替换为:
<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:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<Button
android:id="@+id/button_previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:text="Previous" />
<Button
android:id="@+id/button_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:text="Next" />
</RelativeLayout>
这样您的 viewpager 上就会有两个固定按钮(我放置它们是为了将它们用作 View 寻呼机的下一页和上一页,我想这就是您想要做的)。
关于android - 查看寻呼机 - 如何在其顶部放置固定按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20375660/