博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
是男人就下100层【第一层】——高仿微信界面(4)
阅读量:6324 次
发布时间:2019-06-22

本文共 5221 字,大约阅读时间需要 17 分钟。

上一篇《》中我们完成了登录,这一篇看完成登录后的一个短暂加载和引导界面。

加载界面:

定义了一个ProgressBar,效果如下:

再来看看引导界面的实现

在上面我们使用到了一个ViewPager组件,这个组件的作用是时图片可以左右滑动,使用方法详见:http://www.uml.org.cn/mobiledev/201211294.asp

定义的ViewPage的适配器以及下部的选中状态ImageView的设置如下:

package com.example.weixin.activity;import java.util.ArrayList;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.LayoutInflater;import android.view.View;import android.widget.ImageView;import com.example.weixin.R;public class Whatsnew extends Activity {		private ViewPager mViewPager;		private ImageView mPage0;	private ImageView mPage1;	private ImageView mPage2;	private ImageView mPage3;	private ImageView mPage4;	private ImageView mPage5;			private int currIndex = 0;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.whatsnew_viewpager);        mViewPager = (ViewPager)findViewById(R.id.whatsnew_viewpager);                mViewPager.setOnPageChangeListener(new MyOnPageChangeListener());                       mPage0 = (ImageView)findViewById(R.id.page0);        mPage1 = (ImageView)findViewById(R.id.page1);        mPage2 = (ImageView)findViewById(R.id.page2);        mPage3 = (ImageView)findViewById(R.id.page3);        mPage4 = (ImageView)findViewById(R.id.page4);        mPage5 = (ImageView)findViewById(R.id.page5);              //将要分页显示的View装入数组中        LayoutInflater mLi = LayoutInflater.from(this);        View view1 = mLi.inflate(R.layout.whats1, null);        View view2 = mLi.inflate(R.layout.whats2, null);        View view3 = mLi.inflate(R.layout.whats3, null);        View view4 = mLi.inflate(R.layout.whats4, null);        View view5 = mLi.inflate(R.layout.whats5, null);        View view6 = mLi.inflate(R.layout.whats6, null);              //每个页面的view数据        final ArrayList
views = new ArrayList
(); views.add(view1); views.add(view2); views.add(view3); views.add(view4); views.add(view5); views.add(view6); //填充ViewPager的数据适配器 PagerAdapter mPagerAdapter = new PagerAdapter() { @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public int getCount() { return views.size(); } @Override public void destroyItem(View container, int position, Object object) { ((ViewPager)container).removeView(views.get(position)); } @Override public Object instantiateItem(View container, int position) { ((ViewPager)container).addView(views.get(position)); return views.get(position); } }; mViewPager.setAdapter(mPagerAdapter); } public class MyOnPageChangeListener implements OnPageChangeListener { @Override public void onPageSelected(int arg0) { switch (arg0) { case 0: mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 1: mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page)); mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 2: mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page)); mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 3: mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page)); mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 4: mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page)); mPage5.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 5: mPage5.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; } currIndex = arg0; //animation.setFillAfter(true);// True:图片停在动画结束位置 //animation.setDuration(300); //mPageImg.startAnimation(animation); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } } public void startbutton(View v) { Intent intent = new Intent(); intent.setClass(Whatsnew.this,WhatsnewDoor.class); startActivity(intent); this.finish(); } }
最后的运行效果:

                

转载于:https://www.cnblogs.com/lanzhi/p/6469164.html

你可能感兴趣的文章
POJ 1243 One Person
查看>>
Bash: about .bashrc, .bash_profile, .profile, /etc/profile, etc/bash.bashrc and others
查看>>
hibernate 映射实例 学生 课程 成绩
查看>>
【CAS单点登录视频教程】 第04集 -- tomcat下配置https环境
查看>>
自适应网页布局经验
查看>>
Ubuntu apache 禁止目录浏览
查看>>
常用脚本--归档ERRORLOG
查看>>
js网页倒计时精确到秒级
查看>>
常用CSS缩写语法总结
查看>>
TDD:什么是桩(stub)和模拟(mock)?
查看>>
C# 模拟POST提交文件
查看>>
PAT 解题报告 1004. Counting Leaves (30)
查看>>
Android开发之蓝牙 --修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备
查看>>
[Head First设计模式]生活中学设计模式——外观模式
查看>>
Repository模式中,Update总是失败及其解析
查看>>
.Net 转战 Android 4.4 日常笔记(2)--HelloWorld入门程序
查看>>
[原创]浅谈测试团队转型,思维模式的转变是关键
查看>>
Redis学习-SortedSet
查看>>
android CoordinatorLayout使用
查看>>
机器学习资料大汇总
查看>>