您的位置:首页 > 移动开发 > Android开发

使用ViewPager模拟实现应用程序启动界面(二)

2013-07-19 16:32 525 查看
        上一篇主要失去实现启动滑屏(点击进入),这个功能一般都在第一次启动应用的时候,进行对新功能的介绍来来使用,今天同样是这种功能,不过在上次的基础上面加入,在滑到最后一个界面的时候,点击按钮跳转到主界面的效果。

     还是首先先看效果图:

      



 

      

 


       项目结构如下:

      


             我们要实现这样的功能其实比较简单的,理解完前三篇文章就行,现在正是开始创建

      1:我们要创建四个布局文件,里边全不是背景图片,进行滑动显示(其中第四个比较特殊,里面还包括一个Button按钮)布局文件比较简单

      2:主界面的布局为logo.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />

<LinearLayout
android:id="@+id/liear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="50dip"
android:orientation="horizontal" >

<ImageView
android:id="@+id/point_01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="5dip"
android:src="@drawable/sysclear_ic_storage_used" />

<ImageView
android:id="@+id/point_02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="5dip"
android:src="@drawable/sysclear_ic_storage_left" />

<ImageView
android:id="@+id/point_03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="5dip"
android:src="@drawable/sysclear_ic_storage_left" />

<ImageView
android:id="@+id/point_04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="5dip"
android:src="@drawable/sysclear_ic_storage_left" />

</LinearLayout>

</RelativeLayout>   3:创建LogoActivity.java进行显示实现,ViewerPager.把View加入到集合中,进行ViewPagerAdapter适配,重点代码如下:
   package com.jiangqq.myweixindemo;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.jiangqq.adapter.MyViewePagerAdapter;

public class LogoActivity extends Activity {
private List<View> mLists=new ArrayList<View>();
private ViewPager mViewPager;
private MyViewePagerAdapter adapter;
private Button mButton;
private LayoutInflater mLayoutInflater;
private LinearLayout mLinearLayout;
private int current=0;
private ImageView[] points=new ImageView[4];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.logo);
mLayoutInflater=LayoutInflater.from(this);
mLinearLayout=(LinearLayout)this.findViewById(R.id.liear);
mViewPager=(ViewPager)this.findViewById(R.id.viewpager);
View view1=mLayoutInflater.inflate(R.layout.layout_01, null);
View view2=mLayoutInflater.inflate(R.layout.layout_02, null);
View view3=mLayoutInflater.inflate(R.layout.layout_03, null);
View view4=mLayoutInflater.inflate(R.layout.layout_04, null);
mButton=(Button)view4.findViewById(R.id.btn_start);
mButton.setOnClickListener(new MySetOnClickListener());
mLists.add(view1);
mLists.add(view2);
mLists.add(view3);
mLists.add(view4);
adapter=new MyViewePagerAdapter(mLists);
mViewPager.setAdapter(adapter);
mViewPager.setOnPageChangeListener(new MyOnPagerChangerListener());
initPoints();
}
//初始化下面的小圆点
private void initPoints()
{
for(int i=0;i<4;i++)
{
points[i]=(ImageView)mLinearLayout.getChildAt(i);
points[i].setImageResource(R.drawable.sysclear_ic_storage_left);
}
current=0;//默认在第一页
points[current].setImageResource(R.drawable.sysclear_ic_storage_used);//此刻处于第一页,把第一页的小圆圈设置为unenabled
}
class MyOnPagerChangerListener implements OnPageChangeListener
{
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {

}
@Override
public void onPageSelected(int arg0) {
points[arg0].setImageResource(R.drawable.sysclear_ic_storage_used);
points[current].setImageResource(R.drawable.sysclear_ic_storage_left);
current=arg0;
}

}

class MySetOnClickListener implements OnClickListener{

@Override
public void onClick(View v) {
Intent _Intent=new Intent();
_Intent.setClass(LogoActivity.this, MainActivity.class);
startActivity(_Intent);
LogoActivity.this.finish();

}

}
}
      以上是一些比较的代码,详细的代码已经上传,有兴趣的朋友可以点击下面的链接进行下载
      http://download.csdn.net/detail/jiangqq781931404/5783713

     

        

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息