查看寻呼机 - 如何在其上放置固定按钮

时间:2013-12-04 12:39:32

标签: android android-viewpager

在我的Android应用程序中,我有一个视图寻呼机,基本上是图片的幻灯片放映。 那些图片是5个不同片段的背景图片

我想在它上面放两个按钮,这些按钮保持固定在屏幕上。我怎么能这样做?

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" />

4 个答案:

答案 0 :(得分:15)

您只需将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就会有两个固定的按钮(我已将它们放置在视图寻呼机的下一页和上一页中,我想这就是你想要做的)。

答案 1 :(得分:1)

您可以将这两个按钮放在视图寻呼机上方的布局

答案 2 :(得分:0)

2种方式。

1您可以将此按钮放在布局上的视图寻呼机上方。

2如果您有操作栏,则可以使用NAVIGATION_MODE_TABS创建活动,并使用ActionBar方法将此选项卡添加到您的活动中。

我认为第二种方式更酷。

答案 3 :(得分:-1)

你试试这样:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical" >
       <LinearLayout 
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:orientation="horizontal" >
          <Button
             android:id="@+id/button1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="Button1" />
          <Button
             android:id="@+id/button2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="Button2" />Ï
       </LinearLayout>
       <android.support.v4.view.ViewPager
             android:id="@+id/pager"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
</LinearLayout>