免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1452 | 回复: 1
打印 上一主题 下一主题

Android开发基础篇(11)-----ViewFlipper [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-02 16:11 |只看该作者 |倒序浏览
Android开发基础篇(11)-----ViewFlipper





一、概述

      ViewFlipper这个部件是用来实现多页显示的,多页之间的显示一般通过手势的滑动来实现,比如处于Home界面时,可以通过滑动来显示另一页,有点像Activity之间的切换。下面的实现没有涉及到手势识别这个功能。




二、要求

     掌握ViewFlipper的使用。




三、实现

     新建工程MyFlipper,修改/res/layout/main.xml文件,在里面添加一个ViewFlipper,完整的main.xml文件如下:
  1. 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3     android:layout_width="fill_parent" 4     android:layout_height="fill_parent" 5     android:orientation="vertical" > 6  7     <ViewFlipper  8         android:id="@+id/viewflipper" 9         android:layout_width="fill_parent"10         android:layout_height="fill_parent"11         >      12               13     </ViewFlipper>14 15 </LinearLayout>复制代码在/res/layout下新建2个文件firstview.xml和secondview.xml。
复制代码
这两个文件的内容几乎一样,只是显示的内容不一样,firstview.xml如下:
  1. 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2     android:layout_width="fill_parent" 3     android:layout_height="fill_parent" 4     android:orientation="vertical" > 5      6     <TextView  7         android:layout_width="fill_parent" 8         android:layout_height="wrap_content" 9         android:text="这是第一个View"10         android:textColor="#FFFF0000"11         android:gravity="center_horizontal"12         android:textSize="20dip"13         />14     15     16     <Button 17         android:id="@+id/firstbutton"18         android:layout_width="fill_parent"19         android:layout_height="wrap_content"20         android:text="显示第二个View"21         />22     23 24 </LinearLayout>复制代码
复制代码
secondview.xml如下:
  1. 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3     android:layout_width="fill_parent" 4     android:layout_height="fill_parent" 5     android:orientation="vertical" > 6      7     <TextView  8         android:layout_width="fill_parent" 9         android:layout_height="wrap_content"10         android:text="这是第二个View"11         android:textColor="#FF0000FF"12         android:gravity="center_horizontal"13         android:textSize="20dip"14         />15     16     <Button 17         android:id="@+id/secondbutton"18         android:layout_width="fill_parent"19         android:layout_height="wrap_content"20         android:text="显示第一个View"21         />22     23 24 </LinearLayout>复制代码
复制代码
接着,修改MyFlipperActivity.java文件,主要是定义一个ViewFlipper对象,向它添加两个View,设置两个按钮的监听,在监听里显示前、后一个View。
  1. 1 package com.nan.flipper; 2  3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.view.LayoutInflater; 6 import android.view.View; 7 import android.widget.Button; 8 import android.widget.ViewFlipper; 9 10 public class MyFlipperActivity extends Activity 11 {12     private ViewFlipper mViewFlipper = null;13     private LayoutInflater mLayoutInflater = null; 14     15     private Button firstButton = null;16     private Button secondButton = null;17     18     /** Called when the activity is first created. */19     @Override20     public void onCreate(Bundle savedInstanceState) 21     {22         super.onCreate(savedInstanceState);23         setContentView(R.layout.main);24         25         mViewFlipper = (ViewFlipper)this.findViewById(R.id.viewflipper);26         27         mLayoutInflater = LayoutInflater.from(MyFlipperActivity.this);28         //将布局文件firstview.xml变为View对象29         View firstView = mLayoutInflater.inflate(R.layout.firstview, null);30         //将布局文件secondview.xml变为View对象31         View secondView = mLayoutInflater.inflate(R.layout.secondview, null);32         //添加View 33         mViewFlipper.addView(firstView);34         //添加View            35         mViewFlipper.addView(secondView);36                  37         firstButton = (Button)firstView.findViewById(R.id.firstbutton);38         //设置按钮监听39         firstButton.setOnClickListener(new View.OnClickListener() 40         {41             42             @Override43             public void onClick(View v) 44             {45                 // TODO Auto-generated method stub46                 //显示后一个View47                 mViewFlipper.showNext();48             }49         });50         51         secondButton = (Button)secondView.findViewById(R.id.secondbutton);52         //设置按钮监听53         secondButton.setOnClickListener(new View.OnClickListener() 54         {55             56             @Override57             public void onClick(View v) 58             {59                 // TODO Auto-generated method stub    60                 //显示前一个View61                 mViewFlipper.showPrevious();62             }63         });64           65     }66      67 }复制代码
复制代码
好了,运行该程序:





点击一下“显示第二个View”按钮,效果如下:





好了,完成

论坛徽章:
0
2 [报告]
发表于 2012-03-02 16:11 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP