效果图:

Android 手势滑动切换activity_第1张图片

main.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <android.support.v4.view.ViewPager        android:id="@+id/main_viewpager"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center" >    </android.support.v4.view.ViewPager></LinearLayout>
common.xml:

<?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="@android:color/white"    android:gravity="center"    android:orientation="vertical" >    <TextView         android:gravity="center_horizontal"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="OnlyC"        android:textSize="25sp"        android:textColor="@android:color/black"        /></LinearLayout>
two.xml:

<?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="@drawable/w01"    android:gravity="center"    android:orientation="vertical" >    <TextView         android:gravity="center_horizontal"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="TwoC"        android:textSize="25sp"        android:textColor="@android:color/white"        /></LinearLayout>
three.xml four.xml类似,不再列出

MainActivity.java:

package misc.demo;import java.util.ArrayList;import android.app.ActivityGroup;import android.content.Intent;import android.os.Bundle;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.View;import android.view.Window;public class MainActivity extends ActivityGroup {private View oneView;private View twoView;private View threeView, fourView;private ArrayList<View> views;private ViewPager mViewPager;// 多页面滑动切换效果/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.main);views = new ArrayList<View>();mViewPager = (ViewPager) findViewById(R.id.main_viewpager);mViewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO 自动生成的方法存根System.out.println("onPageScrollStateChanged");}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {// TODO 自动生成的方法存根System.out.println("onPageScrolled");}@Overridepublic void onPageSelected(int arg0) {// TODO 自动生成的方法存根System.out.println("onPageSelected");}});initView();addViews();PagerAdapter mPagerAdapter = new PagerAdapter() {// 判断是否由对象生成界面@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}// 获取当前窗体界面数@Overridepublic int getCount() {System.out.println("getCount" + views.size());return views.size();}// 销毁position位置的界面@Overridepublic void destroyItem(View container, int position, Object object) {((ViewPager) container).removeView(views.get(position));System.out.println("destroyItem" + position);}// 初始化position位置的界面@Overridepublic Object instantiateItem(View container, int position) {((ViewPager) container).addView(views.get(position));System.out.println("instantiateItem" + position);return views.get(position);}};mViewPager.setAdapter(mPagerAdapter);}/** * 将相应的Activity转换成View对象 */public void initView() {oneView = getViews(OneActivity.class, "one");twoView = getViews(TwoActivity.class, "one");threeView = getViews(ThreeActivity.class, "one");fourView = getViews(FourActivity.class, "one");}/** * 将转换成View后的Activity添加到列表中 */public void addViews() {views.add(oneView);views.add(twoView);views.add(threeView);views.add(fourView);}/** * 获取要跳转的Activity对应的View *  * @param cls目的Activity * @param pageid目的Activity的唯一id * @return 返回一个View类型的变量 */public View getViews(Class<?> cls, String pageid) {return getLocalActivityManager().startActivity(pageid,new Intent(MainActivity.this, cls).addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY)).getDecorView();}}
OneActivity.java:

package misc.demo;import android.app.Activity;import android.os.Bundle;public class OneActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.common);}}
完整工程代码:http://download.csdn.net/detail/u014071669/7187085

更多相关文章

  1. Android 仿微信支付密码界面
  2. Android 之欢迎界面Splash
  3. Android连载之:第三章第二节:Android用户界面
  4. android 仿ios数字密码解锁界面
  5. Android 如何在自定义界面上启用输入法 (How to enable inputmet
  6. Android Studio-手把手教你做启动界面开发
  7. Android应用开发笔记(13): Android移动应用界面的模板化设计
  8. Android中微信主界面菜单栏的布局实现代码
  9. Android下实现非启动界面Wifi连接

随机推荐

  1. android:installLocation简析
  2. android 开发BUG
  3. android设定手机的显示模式,横竖屏,是否全
  4. Android多国语言文件夹命名
  5. Android——通知(Notification)
  6. Android当中的SeekBar与iOS中的UISlider
  7. Android(安卓)path 贝塞尔曲线 波浪形
  8. 在android jni中使用log
  9. android各个文件分析
  10. 点击LinearLayout使用selector改变TextVi