zoukankan      html  css  js  c++  java
  • android中viewPager实现的屏幕左右切换(入门篇)

    大多数的APP都可以实现几个屏幕来回的切换,

    首先新建两个Activity,内容随意,布局随意。接下来在MainActivity.xml:

     1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     tools:context=".MainActivity" >
     6 
     7     <android.support.v4.view.ViewPager
     8         android:id="@+id/viewpager"
     9         android:layout_width="wrap_content"
    10         android:layout_height="wrap_content" >
    11     </android.support.v4.view.ViewPager>
    12 
    13 </RelativeLayou
    不要忘记android-support-v4包,目前4.0以上版本都自带

    接下来是java中的方法:
     1 protected void onCreate(Bundle savedInstanceState) {
     2         super.onCreate(savedInstanceState);
     3         setContentView(R.layout.activity_main);
     4         viewPager = (ViewPager) findViewById(R.id.viewpager);
     5         View view1 = LayoutInflater.from(MainActivity.this).inflate(R.layout.a,
     6                 null);
     7         View view2 = LayoutInflater.from(MainActivity.this).inflate(R.layout.b,
     8                 null);
     9         list = new ArrayList<View>();
    10         list.add(view1);
    11         list.add(view2);
    12         viewPager.setAdapter(new MyAdapter());
    13     }
     1 class MyAdapter extends PagerAdapter {
     2 
     3         @Override
     4         public int getCount() {
     5             return list.size();
     6         }
     7 
     8         @Override
     9         public boolean isViewFromObject(View arg0, Object arg1) {
    10             return arg0 == arg1;
    11         }
    12 
    13         @Override
    14         public CharSequence getPageTitle(int position) {
    15             return titlelist.get(position);
    16 
    17         }
    18 
    19         @Override
    20         public Object instantiateItem(View container, int position) {
    21             ((ViewPager) container).addView(list.get(position));
    22             return list.get(position);
    23         }
    24 
    25         @Override
    26         public void destroyItem(View container, int position, Object object) {
    27             super.destroyItem(container, position, object);
    28             ((ViewPager) container).removeView(list.get(position));
    29         }
    30     }

    至此就可以实现两个屏幕的切换

  • 相关阅读:
    fatal error LNK1123: 转换到 COFF 期间失败:文件无效或损坏
    CI:模拟进化与遗传算法
    贝叶斯网络
    朴素贝叶斯模型
    概率与不确定性(乘法法则与贝叶斯法则)
    关于“启发式”搜索的一个形象解释
    Python 字符串与数字拼接报错
    无法启动此程序因为计算机中丢失 xxx.dll
    Python 以指定的概率选取元素
    验证码之SimpleCaptcha (二)
  • 原文地址:https://www.cnblogs.com/stayreal/p/3960346.html
Copyright © 2011-2022 走看看