Android添加全屏启动画面

有的Android软件需要在启动的时候显示一个启动画面,可以是一张图或者一些设置什么呢,还有一个好处就是,可以趁机在后台加载数据。

创建启动画面一般有两种方式:
1、建立一个activity,展示启动画面,然后再启动主Activity
2、在主Activity建立一个展示区,然后隐藏掉。

第二个其实更简单,但是这个就展示一次的东西戳在代码里,怎么想都不舒服,而且还可能设计效率问题。所以在项目里还是选用第一种。

首先建立一个Activity,这里明明为HelloActivity,界面就是activity_hello.xml。

接下来修改AndroidManifest.xml文件,把主Activity换成HelloActivity。把之前的主Activity放到下面。

<activity
    android:name="com.phone.config.SetActivity"
    android:icon="@drawable/set"
    android:label="@string/app_name"
    android:screenOrientation="landscape"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    android:windowSoftInputMode="adjustUnspecified|stateHidden" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

这样HelloActivity就优先启动了,在java文件中编写代码,启动完画面后启动主界面。

在activity_hello.xml中就一个LinearLayout 和一个ImageView,界面很简单,但要保证他全屏,其实我们在设置文件里面已经设置了全屏,在java文件的onCreate方法里也可以设置:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //设置无标题    requestWindowFeature(Window.FEATURE_NO_TITLE);
    //设置全屏    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_hello);
    iv = (ImageView)this.findViewById(R.id.iv);
    timer = new Timer(true);
    timer.schedule(hello, 200, 150); //延迟200毫秒执行,每150毫秒执行一次
}

这里面用了一个Timer,用Timer是因为,我的项目启动画面是一个动态的,但是Android又不支持Gif图播放,但项目中就这个地方用到gif,所以就把gif给分割成jpg文件,然后用timer播放,播放完成后就加载新Activity。

编写Timer的TimerTask类,重写run()方法就可以了。

TimerTask hello = new TimerTask(){
    @Override
    public void run() {
        if(index &lt; 5){
            index++;
            Message msg = new Message();
            msg.what = index;
            handler.sendMessage(msg);
        }else if(index &lt; 8){
            index++;  //静止片刻
        }else{
            //停止播放,启动主Activity            timer.cancel();
            Intent intent = new Intent(HelloActivity.this, MainActivity.class);
            startActivity(intent);
            finish();  //不加这一句,按回退键就会回到欢迎界面不合理。        }
    }
};

这里还涉及到了一个消息处理,因为Android不允许随便让其他线程操作UI,但是处理系统消息的Handle却是可以得,所以Timer定时向Handle发送一个消息,用来更改界面。

final Handler handler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
        //循环播放图片        iv.setBackgroundResource(hellores[msg.what]);
    }
};

这样,一个简单的启动画面就做好了。

提示:在Android4.0版本中,这种方法无法隐藏系统的状态栏,需要修改底层代码。

来源: http://www.cnblogs.com/mnight/p/3677662.html

来自为知笔记(Wiz)

时间: 2024-10-12 16:17:27

Android添加全屏启动画面的相关文章

Android dialog 全屏

Android中让Dialog全屏: 一.在style中定义样式: <?xml version="1.0" encoding="utf-8"?> <resources> <style name="Transparent"> <item name="android:windowBackground">@color/transparent_background</item>

Android实现全屏显示的方法

我们都知道在Android中某些功能的实现往往有两种方法:一种是在xml文件中设置相应属性,另一种是用代码实现.同样Android实现全屏显示也可以通过这两种方法实现: 1.在AndroidManifest.xml的配置文件里面的<activity>标签添加属性: android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 2.在Activity的onCreate()方法中的super()和setContentVie

Android中全屏 及 去掉标题栏

Android中全屏 及 去掉标题栏 <去掉标题栏的方法> 第一种:入门的时候经常使用的一种方法 requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 注意这句一定要写在setContentView()方法的前面,不然会报错的 第二种:在AndroidManifest.xml文件中定义 <application android:icon="@drawable/icon" android:label="@s

Android中全屏或者取消标题栏

先介绍去掉标题栏的方法: 第一种:也一般入门的时候经常使用的一种方法 requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 注意这句一定要写在setContentView()方法的前面,不然会报错的 第二种:在AndroidManifest.xml文件中定义 <application android:icon="@drawable/icon" android:label="@string/app_name"

Xamarin Android Activity全屏

以MainActivity 为例,其他Activity是一样的 在 MainActivity 中设置Theme为@android:style/Theme.NoTitleBar.Fullscreen [Activity(Label = "@string/app_name", Theme = "@android:style/Theme.NoTitleBar.Fullscreen", MainLauncher = true)] 并且将 MainActivity 的父类从A

Android Dialog全屏显示

网上大多数介绍的实现方式就是在styles.xml中添加<item name="android:windowFullscreen">true</item> 这个属性,但是自己按照操作不好使,后来自己尝试去做一下,总结方法如下代码 Dialog dialog = new Dialog(this, R.style.Dialog); dialog.show(); LayoutInflater inflater = LayoutInflater.from(this);

Android实现全屏的三种方式

一.通过代码 1 requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏标题栏 2 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 3 WindowManager.LayoutParams.FLAG_FULLSCREEN);// 隐藏状态栏 注意:必须在setContentView之前执行,否则会报错. 另外这种全屏显示方式的缺点是,会有隐藏标题栏和隐藏状态栏的动画过

android在全屏下第一次触摸屏幕没有触发事件

A.设置全屏的方法很多就不多说了,常见如下两种(记录用以备忘): 1.在Androidmanifest.xml文件中设定,如: <activity android:name="com.yeertc.android.RoomActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:screenOrientation="landscape">

android activity全屏

有两种方法: 1.在AndroidManifest.xml的配置文件里面的<activity>标签添加属性: android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 如: <activity android:name="com.wangfeng.wfgogofish.ui.FirstActivity" android:theme="@android:style/Theme.No