我需要在一个由三页组成的应用程序中使用视图寻呼机。
我是Android视图寻呼机的新手。
我在屏幕的后半部分有一个名为TestSwipingView
的视图,而在屏幕的上半部分有另一个视图。
如何仅将TestSwipingView
配置为可以滑动?
答案 0 :(得分:1)
这就是我实现它的方式。它也可能会给你一些想法。
步骤1:在我的主要活动中,我制作了我的页面适配器并在onCreate()中调用它。
public class SomeActivity extends FragmentActivity {
WebView mWebView;
private boolean mFromDropdown = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.tutorial_activity);
Window window = getWindow();
DisplayMetrics metrics = getResources().getDisplayMetrics();
window.setGravity(Gravity.CENTER);
int width = (int) (metrics.widthPixels * 1);
int height = (int) (metrics.heightPixels * .85);
window.setLayout(width, height);
mFromDropdown = getIntent().getBooleanExtra("fromDropdown", false);
MyPagerAdapter adapter = new MyPagerAdapter();
ViewPager myPager = (ViewPager) findViewById(R.id.pager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);
}
Step2:这是我的自定义适配器:
private class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 3;
}
public Object instantiateItem(ViewGroup container, int position) {
LayoutInflater inflater = (LayoutInflater) container.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// Using different layouts in the view pager instead of images.
int resId = -1;
//Getting my layout's in my adapter. Three layouts defined.
switch (position) {
case 0:
resId = R.layout.tutorial1;
break;
case 1:
resId = R.layout.tutorial2;
break;
case 2:
resId = R.layout.tutorial3;
break;
}
View view = inflater.inflate(resId, container, false);
((ViewPager) container).addView(view, 0);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
}
第3步:我的布局:
主要布局:
<?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:background="#F3F3F4"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/tutorial_actionbar"
android:layout_width="match_parent"
android:layout_height="48dp" >
<TextView
android:id="@+id/tutorial_header"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:paddingLeft="25dp"
android:paddingRight="9dp"
android:text="Your Text"
android:textColor="#666666"
android:textSize="16sp" />
</RelativeLayout>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingLeft="9dp"
android:paddingRight="9dp" >
</android.support.v4.view.ViewPager>
</LinearLayout>
在MainLayout中放入ViewPager的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#F3F3F4"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F3F3F4"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="18dp" >
<TextView
android:id="@+id/tutorialText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#F3F3F4"
android:text="title1_secondscreen"
android:textColor="#666666"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tutorialText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#F3F3F4"
android:text="header1_secondscreen"
android:textColor="#666666"
android:textSize="16sp" />
</LinearLayout>
<ImageView
android:id="@+id/image2"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.60"
android:scaleType="centerInside"
android:src="@drawable/page2" />
<TextView
android:id="@+id/tutorialText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#F3F3F4"
android:padding="10dp"
android:text="footer1_secondscreen"
android:textColor="#666666"
android:textSize="32sp" />
</LinearLayout>
</RelativeLayout>
在MainLayout中放入ViewPager的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#F3F3F4"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F3F3F4"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="18dp" >
<TextView
android:id="@+id/tutorialText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#F3F3F4"
android:text="title1_thirdscreen"
android:textColor="#666666"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tutorialText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#F3F3F4"
android:text="header1_thirdscreen"
android:textColor="#666666"
android:textSize="16sp" />
<ImageView
android:id="@+id/image1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:src="@drawable/page3" />
<!-- <TextView
android:id="@+id/tutorialText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#F3F3F4"
android:text="@string/tutoril_text3"
android:textColor="#666666"
android:textSize="16sp" /> -->
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tutorialText5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="#F3F3F4"
android:gravity="center"
android:padding="10dp"
android:text="footer1_thirdscreen"
android:textColor="#666666"
android:textSize="32sp" />
</RelativeLayout>
希望这可以帮助你.. :) ..祝你好运.. :)