在我的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" />
答案 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>