5.13viewPager&&viewFlipper

(1)java中输出格式控制:

System.out.printf(“共有:%.1f吨\n”,totalGoods);

(2)Adapter里面的常用方法:

  1. getCount()返回所有页面的数量
  2. isViewFromObject(View arg0,Object arg1)判断视图是否由对象产生
  3. instantiateItem(ViewGroup container,int position)实例化界面
  4. destroyItem(ViewGroup container,int position,Object object)销毁页面
  5. getPagerTitle(int position)返回页面标题信息

(3)添加像微信一样的每页的页卡PagerTabStrip
1.在xml的ViewPager中加入PagerTabStrip

 <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" >

        <android.support.v4.view.PagerTabStrip
            android:id="@+id/tab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
        </android.support.v4.view.PagerTabStrip>


    </android.support.v4.view.ViewPager>

2.为ViewPager页卡设置标题

titleList=new ArrayList<String>();
        titleList.add("第一页");
        titleList.add("第二页");
        titleList.add("第三页");
        titleList.add("第四页");

3.在MyPagerAdapter中传入titleList

MyViewPagerAdapter adapter=new MyViewPagerAdapter(viewList, titleList);

在MyPagerAdapter中重载getPagerTitle

 @Override
    public CharSequence getPageTitle(int position) {
        // TODO Auto-generated method stub
        return titleList.get(position);
    }

4.为了美观,为PagerTabStrip设置一些属性

tab=(PagerTabStrip) findViewById(R.id.tab);
        tab.setBackgroundColor(Color.YELLOW);
        tab.setTabIndicatorColor(Color.BLUE);
        tab.setDrawFullUnderline(false);
        tab.setTextColor(Color.RED);

PagerTitleStrip功能与PagerTabStrip基本一样
(4)通过Fragment作为ViewPager的数据源
1.创建fragList

fragList=new ArrayList<Fragment>();
        fragList.add(new Fragment1());
        fragList.add(new Fragment2());
        fragList.add(new Fragment3());
        fragList.add(new Fragment4());

2.创建适配器(用fragment加载support.v4包,这时该类需继承自FragmentActivity)

MyFragmentPagerAdapter adapter2=new MyFragmentPagerAdapter(getSupportFragmentManager(), fragList, titleList);

3.初始化ViewPager

pager=(ViewPager) findViewById(R.id.pager);

4.ViewPager加载适配器

pager.setAdapter(adapter2);

FragmentPagerAdapter 所有fragment一起存在一起销毁
FragmentStatePagerAdapter 有单个fragment的创建和销毁

ViewPager可以设置setOnPagerChangedListener();
(5)ViewFlipper:实现屏幕切换动画效果,android系统自带的一个多页面管理控件,它可以实现子界面的自动切换

为ViewFlipper加入View:
1. 静态导入:在layout布局文件中直接导入;
2. 动态导入:addView()方法

ViewFlipper常用方法:
1.setInAnimation:设置View进入屏幕时候使用的动画;
2.setOutAnimation:设置View退出屏幕时候使用的动画;
3.showNext:显示ViewFlipper里面的下一个View;
4.showPrevious:显示ViewFlipper里面的上一个View;
5.setFlipInterval:设置View之间切换的时间间隔;
6.startFlipping:开始切换所有View,切换循环进行;
7.stopFlipping:停止View切换

image.setImageResource(resId);//只能显示图片原宽高
image.setBackgroundResource(resId);//铺满屏幕

步骤:
1.初始化ViewFlipper:

flipper = (ViewFlipper) findViewById(R.id.flipper);

2.动态导入的方式为ViewFlipper加入子View

flipper.addView(getImageView(R.drawable.pic1));
        flipper.addView(getImageView(R.drawable.pic2));
        flipper.addView(getImageView(R.drawable.pic3));
        flipper.addView(getImageView(R.drawable.pic4));
private ImageView getImageView(int resId) {
        ImageView image = new ImageView(this);
        image.setBackgroundResource(resId);
        return image;
    }

3.为ViewFlipper添加动画效果、切换时间间隔和开始播放

flipper.setBackgroundColor(Color.BLACK);
         flipper.setFlipInterval(5000);
         flipper.setInAnimation(this, R.anim.anim_in);
         flipper.setOutAnimation(this, R.anim.anim_out);
         flipper.startFlipping();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值