高仿微博--启动页面
2016-05-13 09:57
239 查看
微博的启动页面 viewpager的滑动效果,实现的效果如下
好啦! 别的不说了,下面是实现滑动过程
首先是activity_guide.xml配置文件
<RelautIveLayout xlmns:android="http://scheas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id=@+id/pager_vp
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp"
android:layout_centerHorizontal="true"
android:text="进入微博"
android:visibility="visible"/>
</RelautIveLayout>
////////////////////////////////////////////////////////////////////////////////////////////
主avtivity如下
public class GuideActivity exaends Activity{
//声明一个viewpager对象
ViewPager vp;
//声明一个imageview数据集合
List<ImageView> list;
//声明一个适配器
MyPagerAdapter adapter;
//声明一个button按钮
Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_guide);
init();
}
private void init() {
vp = (ViewPager) findViewById(R.id.pager_vp);
list = new ArrayList<ImageView>();
btn = (Button) findViewById(R.id.pager_btn);
ImageView iv1=new ImageView(this);
iv1.setImageResource(R.drawable.guide_1);
ImageView iv2=new ImageView(this);
iv2.setImageResource(R.drawable.guide_2);
ImageView iv3=new ImageView(this);
iv3.setImageResource(R.drawable.guide_3);
list.add(iv1);
list.add(iv2);
list.add(iv3);
adapter = new MyPagerAdapter(list);
vp.setAdapter(adapter);
vp.setOnPageChangeListener(new OnPageChangeListener() {
/**
*
* 切换到一个item的时候执行的方法
*
* */
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
Log.i("OnpageSelected", arg0+"");
if(arg0==2){
//当下标为2的时候,把btn按钮设置为不可见
btn.setVisibility(View.VISIBLE);
}else{
btn.setVisibility(View.GONE);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//业务逻辑代码自己实现
}
});
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
//////////////////////////////////////////////////////////////
适配器的配置
public class MyPagerAdapter extends PagerAdapter {
List<ImageView> list;
public MyPagerAdapter(List<ImageView> list) {
super();
this.list = list;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(list.get(position));
return list.get(position);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;
}
}
好啦! 别的不说了,下面是实现滑动过程
首先是activity_guide.xml配置文件
<RelautIveLayout xlmns:android="http://scheas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id=@+id/pager_vp
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp"
android:layout_centerHorizontal="true"
android:text="进入微博"
android:visibility="visible"/>
</RelautIveLayout>
////////////////////////////////////////////////////////////////////////////////////////////
主avtivity如下
public class GuideActivity exaends Activity{
//声明一个viewpager对象
ViewPager vp;
//声明一个imageview数据集合
List<ImageView> list;
//声明一个适配器
MyPagerAdapter adapter;
//声明一个button按钮
Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_guide);
init();
}
private void init() {
vp = (ViewPager) findViewById(R.id.pager_vp);
list = new ArrayList<ImageView>();
btn = (Button) findViewById(R.id.pager_btn);
ImageView iv1=new ImageView(this);
iv1.setImageResource(R.drawable.guide_1);
ImageView iv2=new ImageView(this);
iv2.setImageResource(R.drawable.guide_2);
ImageView iv3=new ImageView(this);
iv3.setImageResource(R.drawable.guide_3);
list.add(iv1);
list.add(iv2);
list.add(iv3);
adapter = new MyPagerAdapter(list);
vp.setAdapter(adapter);
vp.setOnPageChangeListener(new OnPageChangeListener() {
/**
*
* 切换到一个item的时候执行的方法
*
* */
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
Log.i("OnpageSelected", arg0+"");
if(arg0==2){
//当下标为2的时候,把btn按钮设置为不可见
btn.setVisibility(View.VISIBLE);
}else{
btn.setVisibility(View.GONE);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//业务逻辑代码自己实现
}
});
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
//////////////////////////////////////////////////////////////
适配器的配置
public class MyPagerAdapter extends PagerAdapter {
List<ImageView> list;
public MyPagerAdapter(List<ImageView> list) {
super();
this.list = list;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(list.get(position));
return list.get(position);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;
}
}
相关文章推荐
- iOS引导界面与主界面之间切换
- ScrollView嵌套ListView
- cacti function
- 如何学习新技术
- 如何学习新技术
- Java定时调度 Timer类和TimerTask类
- 通用的erlang优化设置
- 如何学习新技术
- 如何撤消当前提交
- html页面高度不同浏览器兼容性设置
- Linux 自动同步服务器时间
- Timer定时器
- Ping百度自动提交网址
- c# Bitmap byte[]互转
- codeforces 672C Recycling Bottles (枚举+贪心)
- 【BZOJ4430】[Nwerc2015]Guessing Camels赌骆驼【树状数组】【或CDQ分治】
- BIO、NIO的区别
- googleNet
- 表单上传文件
- POJ2752 KMP中next数组的应用