APP启动界面的实现,第一种方式

原创 2016年06月06日 14:41:14

最近想把自己在项目中用到的一些功能和看到相关demo整理下,方便以后自己使用和学习,也希望能帮到刚开始开发的朋友,如果在这里有写的不好的地方希望大家帮忙提出和修改。

下面就开始一个简单的APP启动界面的功能实现.:

这是启动的xml文件.

<span style="font-size:18px;"><?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:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="@null"
        android:scaleType="centerCrop"
        android:src="@mipmap/launch_lina" />

</RelativeLayout></span>
预览图如下所示.
<img src="http://img.blog.csdn.net/20160530165404641?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
在这里我们如果要设置整个图片全屏的话有2种方式。

1:Java文件中在onCreate()方法中使用如下代码可以实现全屏:

public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    //hide the status bar  
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);  
    //hide the title bar  
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);  
    setContentView(R.layout.main);  
}  
2:或者在AndroidManifest.xml 中进行配置如下

   android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
如图所示:



下面就是java中的代码了,我在这里使用了一个很简单的方法来实现

使用了android中 AlphaAnimation对象

AlphaAnimation animation = new AlphaAnimation(0.7f ,1.0f);//设置透明度0.7 1.0

整个Activty的代码:

package com.chf.myexerciseapp.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.ImageView;

import com.chf.myexerciseapp.MainActivity;
import com.chf.myexerciseapp.R;

/**
 * Created by chenhf on 2016/5/30.
 */
public class LaunchActivity extends Activity{
    private static final  String TAG = "LaunchActivity";
    private ImageView mImgView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_launch);
        mImgView  = (ImageView) findViewById(R.id.img_launch_lina);
        AlphaAnimation animation = new AlphaAnimation(0.7f ,1.0f);//设置透明度0.7 到1.0;
        animation.setDuration(3000);//设置动画持续时间。这里设置的是3秒。
        mImgView.setAnimation(animation);
        animation.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                Intent intent  = new Intent();
                intent.setClass(LaunchActivity.this, MainActivity.class);
                startActivity(intent);
                finish();
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_BACK){
            if (getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.ECLAIR) {
                return true;
            } else {
                onBackPressed();
            }
            return true;
        }else {
            return super.onKeyDown(keyCode, event);
        }
    }

    @Override
    public void onBackPressed() {
        Log.d(TAG,"在onBackPressed中拦截返回键");
        return;
    }


}
在上面代码中,我们使用了setAnimationListener这个方法。该方法所需要传入AnimationListener这个listener,在改listener的onAnimationEnd中增加了,跳转到主界面的代码。

一个很简单的启动界面就完成了。





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android下拉刷新+左滑删除的实现(第一种方式)

下拉刷新+左滑删除的效果实现一:使用谷歌官方的SwipeRefreshLayout和第三方左滑删除的库swipemenu-recyclerview先看效果: 实现步骤: 1、导入swipemenu...

Servlet系列之第一种创建方式(一)实现Servlet类

//Servlet 是JavaWeb三大组件之一 //Servlet可以完成: //接收请求数据:接收客户端提交上来的数据,比如url中携带参数 //处理请求数据:根据不同的需求,处理数据 //完成响...

Android ListView分类/分组效果 - 第一种实现方式

一、有图有真相 二、实现ListView分类显示效果,目前我知道的有两种方案: 1. 每一个ItemView都包含用于显示分类信息的view(TitleView)和用于显示...

(3) 利用 Setter方式实现 【第一种方式】 依赖注入,编码剖析Spring依赖注入的原理

[java] view plaincopyprint? import cn.itm.dao.PersonDao;      public class PersonDaoBean im...

Android各个activity之间(页面之间)的切换实现方式(推荐第一种方式)

Android中页面(activity)跳转实现的几种形式

quartz与spring4整合的第一种方式

近日项目开发中需要执行一些定时任务,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合spring框架来介绍。 分类从实现的技术上来分类,目前主要有三种技术 Jav...

安卓:ViewPager,添加图片方式2及标题版,自动轮播版(第一种)

第二种方式添加图片: 1.创建3个带有ImageView的布局 2.主布局里放ViewPager控件 3逻辑代码里将布局加载到ViewPager中 逻辑代码文件: pac...

一步一步教你将开源项目上传到jcenter(第一种方式)

最近闲着看了一下jcenter的使用,也想将自己使用频率比较高的东西抽成类库,然后通过compile来使用,提高开发效率,本来以为挺简单的,但是网上介绍的比较模糊,很多博客也比较老了,不适用,花了我一...

黑马程序员_日记44_TreeSet第一种排序方式小结

——- android培训、java培训、期待与您交流! ———-/*只根据年龄判断去重,这个太不符合实际了, 把需求改一下: 往TreeSet集合中存储自定义对象学生。 想先按照学生的年龄进行...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)