一款常用的Android APP框架开发(上)
来源:互联网 发布:战舰世界巴尔的摩数据 编辑:程序博客网 时间:2024/04/29 21:19
一、Splash启动页
1、布局文件
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/iv_splash" android:src="@drawable/splash" android:layout_height="wrap_content" android:layout_width="wrap_content"/></RelativeLayout>
注:通过修改android:src="@drawable/splash"可以修改splash启动夜显示的图片
2、SplashActivity类
public class SplashActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_splash);//用于延时3000ms之后跳转主页面new Handler().postDelayed(new Runnable() {@Overridepublic void run() {Intent intent=new Intent(SplashActivity.this,MainActvity.class);startActivity(intent);finish();}}, 3000);}}
注:SplashActivity还可以做以下工作,使得启动页面更加完善:
(1)可以为图片添加动画效果(如RotateAnimation,ScaleAnimation,AlphaAnimation);
(2)还可以在加载Splash界面的时候,检查版本更新,从而提示用户及时更新新版本
二、新手引导页
1、布局文件
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.ViewPager android:id="@+id/vp_guid" android:layout_height="match_parent" android:layout_width="match_parent"> </android.support.v4.view.ViewPager> <com.viewpagerindicator.CirclePageIndicator android:id="@+id/vp_indicator" android:layout_height="wrap_content" android:layout_width="wrap_content" app:fillColor="#f00" android:padding="20dp" app:pageColor="@android:color/darker_gray" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" app:radius="7dp" app:strokeWidth="0dp"> </com.viewpagerindicator.CirclePageIndicator> <Button android:id="@+id/btn_start" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="开始体验" android:layout_above="@id/vp_indicator" android:layout_centerHorizontal="true" android:visibility="invisible" android:padding="15dp" android:textSize="22dp"/> </RelativeLayout>
新手引导界面包含一个ViewPager,一个CirclePageIndicator(用于指示ViewPager)以及一个按键,该按键用于进入主界面,它默认是隐藏的。
2、GuidActivity
public class GuidActivity extends Activity {private static final int[] imageSrc={R.drawable.guide_1,R.drawable.guide_2,R.drawable.guide_3};private ViewPager vp_guid;private CirclePageIndicator vp_indicator;private Button btn_start; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_guid);vp_guid = (ViewPager) findViewById(R.id.vp_guid);vp_indicator = (CirclePageIndicator) findViewById(R.id.vp_indicator);vp_guid.setAdapter(new GuidAdapter()); //为ViewPager设置适配器vp_indicator.setViewPager(vp_guid); //将indicator和ViewPager关联btn_start = (Button) findViewById(R.id.btn_start);btn_start.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent(GuidActivity.this,MainActvity.class);startActivity(intent);finish();}});//button这只监听vp_indicator.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {if(arg0!=imageSrc.length-1){btn_start.setVisibility(View.INVISIBLE);}else{btn_start.setVisibility(View.VISIBLE);}}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});//CirclePageIndicator设置监听,这样方便判断按键是否显示}class GuidAdapter extends PagerAdapter{ @Overridepublic int getCount() {return imageSrc.length;} @Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0==arg1;}@Overridepublic Object instantiateItem(ViewGroup container, int position) {ImageView image=new ImageView(GuidActivity.this);image.setBackgroundResource(imageSrc[position]);container.addView(image);return image;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView((ImageView)object);}}}
注:需要修改新手引导界面的图片时,可以修改imageSrc里面的资源文件
0 0
- 一款常用的Android APP框架开发(上)
- Vitamio一款Android&iOS上的全能多媒体开发框架
- 一个常用的Android APP框架开发(下)
- 开发一款APP大致需要的框架推荐
- 从零开始开发一款Android App
- 从零开始开发一款Android App
- 练习项目 一款新闻app的开发 (三):通过Rxjava + Retrofit2框架获取网络数据
- Android新手如何学习开发一款app?
- Android新手如何学习开发一款app?
- 从今天开始学习iOS开发(iOS 7版)--实现一款App之Foundation框架的使用
- 如何开发一款优秀的APP(侧重实践层面)
- BLUE,第一款基于VUE.JS + Node.JS + Native APP的前后端开发框架
- Android app 开发框架
- 揭秘:一款App的开发成本是多少?
- MVP+rxAndroid+Material开发的一款APP
- 如何开发一款优秀的手机App
- 一款App的开发成本是多少?
- 用前端框架开发一款APP要多少钱
- 聚集索引和非聚集索引
- Linux教程之权限管理
- POJ 1328(贪心)
- 第六周--项目4数制转换
- try catch finally java 异常捕捉
- 一款常用的Android APP框架开发(上)
- android---(Intent)
- 强调相关的类
- 二叉搜索树
- HTML - Amazing HTML
- Linux权限
- plist苹果安装包实现
- 直接修改UIView的x,y,width,height...
- linux下头文件