版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】Android中怎么利用zViewPager实现一个欢迎引导页面
这篇文章给大家介绍Android中怎么利用zViewPager实现一个欢迎引导页面,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。项目结构图四、具体的编码实现1、
布局界面比较简单,加入ViewPager组件,以及底部的引导小点,activity_main.xml:<RelativeLayout
xmlns:android="/apk/res/android"
xmlns:tools="/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/ll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="24.0dip"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/point"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/point"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/point"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/point"/>
</LinearLayout>
</RelativeLayout>
2、其中小点的图片用一个selector来控制颜色,point.xml:<?xml
version="1.0"
encoding="UTF-8"?>
<selector
xmlns:android="/apk/res/android">
<item
android:state_enabled="true"
android:drawable="@drawable/point_normal"
/>
<item
android:state_enabled="false"
android:drawable="@drawable/point_select"
/>
</selector>3、ViewPager适配器代码,ViewPagerAdapter.java:package
com.yangyu;
import
java.util.ArrayList;
import
android.support.v4.view.PagerAdapter;
import
android.support.v4.view.ViewPager;
import
android.view.View;
/**
*
@author
yangyu
*
功能描述:ViewPager适配器,用来绑定数据和view
*/
public
class
ViewPagerAdapter
extends
PagerAdapter
{
//界面列表
private
ArrayList<View>
views;
public
ViewPagerAdapter
(ArrayList<View>
views){
this.views
=
views;
}
/**
*
获得当前界面数
*/
@Override
public
int
getCount()
{
if
(views
!=
null)
{
return
views.size();
}
return
0;
}
/**
*
初始化position位置的界面
*/
@Override
public
Object
instantiateItem(View
view,
int
position)
{
((ViewPager)
view).addView(views.get(position),
0);
return
views.get(position);
}
/**
*
判断是否由对象生成界面
*/
@Override
public
boolean
isViewFromObject(View
view,
Object
arg1)
{
return
(view
==
arg1);
}
/**
*
销毁position位置的界面
*/
@Override
public
void
destroyItem(View
view,
int
position,
Object
arg2)
{
((ViewPager)
view).removeView(views.get(position));
}
}
4、主程序入口类,MainActivity.java:package
com.yangyu;
import
java.util.ArrayList;
import
android.app.Activity;
import
android.os.Bundle;
import
android.support.v4.view.ViewPager;
import
android.support.v4.view.ViewPager.OnPageChangeListener;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.widget.ImageView;
import
android.widget.LinearLayout;
import
com.example.myguideview01.R;
/**
*
@author
yangyu
*
功能描述:主程序入口类
*/
public
class
MainActivity
extends
Activity
implements
OnClickListener,OnPageChangeListener
{
//定义ViewPager对象
private
ViewPager
viewPager;
//定义ViewPager适配器
private
ViewPagerAdapter
vpAdapter;
//定义一个ArrayList来存放View
private
ArrayList<View>
views;
//引导图片资源
private
static
final
int[]
pics
=
{R.drawable.guide1,R.drawable.guide2,R.drawable.guide3,R.drawable.guide4};
//底部小点的图片
private
ImageView[]
points;
//记录当前选中位置
private
int
currentIndex;
@Override
protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initData();
}
/**
*
初始化组件
*/
private
void
initView(){
//实例化ArrayList对象
views
=
new
ArrayList<View>();
//实例化ViewPager
viewPager
=
(ViewPager)
findViewById(R.id.viewpager);
//实例化ViewPager适配器
vpAdapter
=
new
ViewPagerAdapter(views);
}
/**
*
初始化数据
*/
private
void
initData(){
//定义一个布局并设置参数
LinearLayout.LayoutParams
mParams
=
new
LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT);
//初始化引导图片列表
for(int
i=0;
i<pics.length;
i++)
{
ImageView
iv
=
new
ImageView(this);
iv.setLayoutParams(mParams);
iv.setImageResource(pics[i]);
views.add(iv);
}
//设置数据
viewPager.setAdapter(vpAdapter);
//设置监听
viewPager.setOnPageChangeListener(this);
//初始化底部小点
initPoint();
}
/**
*
初始化底部小点
*/
private
void
initPoint(){
LinearLayout
linearLayout
=
(LinearLayout)
findViewById(R.id.ll);
points
=
new
ImageView[pics.length];
//循环取得小点图片
for
(int
i
=
0;
i
<
pics.length;
i++)
{
//得到一个LinearLayout下面的每一个子元素
points[i]
=
(ImageView)
linearLayout.getChildAt(i);
//默认都设为灰色
points[i].setEnabled(true);
//给每个小点设置监听
points[i].setOnClickListener(this);
//设置位置tag,方便取出与当前位置对应
points[i].setTag(i);
}
//设置当面默认的位置
currentIndex
=
0;
//设置为白色,即选中状态
points[currentIndex].setEnabled(false);
}
/**
*
当滑动状态改变时调用
*/
@Override
public
void
onPageScrollStateChanged(int
arg0)
{
}
/**
*
当当前页面被滑动时调用
*/
@Override
public
void
onPageScrolled(int
arg0,
float
arg1,
int
arg2)
{
}
/**
*
当新的页面被选中时调用
*/
@Override
public
void
onPageSelected(int
position)
{
//设置底部小点选中状态
setCurDot(position);
}
/**
*
通过点击事件来切换当前的页面
*/
@Override
public
v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 低空经济行业趋势及市场需求分析报告
- 2024年度锅炉工聘任协议样本
- 房产代理信息保密协议文本
- 2024年房产抵押借款协议样式
- 2024建筑打桩机租赁协议样本
- 2024年期墓园土地使用协议
- 2024年二手挖掘机交易协议模板
- 不锈钢工程承建2024协议规范稿
- 2024年度汽车金融贷款担保服务协议
- 户外执行合同范本
- 亮化工程项目管理组织机构架设
- 打印耗材供货协议
- 空调设备的安装和修理行业发展全景调研与投资趋势预测研究报告
- 工程认知实践体验智慧树知到期末考试答案章节答案2024年中国海洋大学
- 食品配送中心租赁合同
- 文化活动实施方案 组委会职责
- 产出导向法在译林版高中英语教材Integrated skills板块的实践探索
- 十八项医疗核心制度解读
- 2024年辅警考试公基常识300题(附解析)
- 征信基础知识培训课件
- 2024年城市合伙人合同模板
评论
0/150
提交评论