Android app启动图适配方法实例

目录
  • 前言
  • 1、设置splash主题
  • 2、 splash_bg 设置:
  • 3、splash布局文件设置:
  • 附问题:项目启动时,会有白屏现象(在点击 应用图标到看到启动页之间)。
  • 总结

前言

app启动后的白屏问题,默认都是在splash页面加主题配置,主题配置一个背景来达到用户点击app图标就立马启动app的假象,大多情况下,使用背景单一的图片作为启动图,我们在设置背景颜色,就能适配的很不错了(背景颜色+logo图片的模式)。但是当启动图不再单一,而且复杂的图形时候,适配就成大问题了,下面介绍我的方法:

1、设置splash主题

<style name="MySplashTheme" parent="@android:style/Theme.Holo.NoActionBar">
        <item name="android:windowBackground">@drawable/splah_bg</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowBackground">@color/white</item>
        <item name="android:windowDrawsSystemBarBackgrounds">false</item>
    </style>

2、 splash_bg 设置:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/wecome4"
    android:dither="true"
    android:filter="true"
    android:antialias="true"
    android:gravity="fill">
</bitmap>

这里面的gravity = fill是设置图片拉伸的(可以用.9图片)

3、splash布局文件设置:

 <ImageView
        android:id="@+id/iv_bg"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:background="@drawable/splah_bg" />

注意这里的图片设置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用图片,不然主题到splash布局切换的时候,图片会闪动。

注意这里的图片设置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用图片,不然主题到splash布局切换的时候,图片会闪动。

注意这里的图片设置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用图片,不然主题到splash布局切换的时候,图片会闪动。

上面说的是不能设置背景颜色的,如果启动图背景是纯色的,比如天猫那种,就一白色加一个logo,那种主题设置就不一样了,请用下面这种模式

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <solid android:color="#FFFFFF" />
        </shape>
    </item>

    <item >
        <bitmap
            android:gravity="fill"
            android:src="@drawable/wecome4"
            android:dither="true"
            android:filter="true"
            android:antialias="true"
            />
    </item>
</layer-list>

附问题:项目启动时,会有白屏现象(在点击 应用图标到看到启动页之间)。

处理办法:

一:我们尽量减少的Application类里面的耗时操作

二:设置项目启动页的style类型为透明的

处理之后的现象:看不到白屏,但是点击应用图标之后,会静止一段时间(没有任何反应),过一会儿,才会显示启动页

三:设置项目启动页的style类型为指定图片A(在SplashActivity里面 ,就不用设置setcontentView()了)

处理之后的现象:看不到白屏,但是点击应用图标之后,会显示刚刚设置的style的图片,过一会儿,才会显示启动页

这种做法遇到的问题:

如果 这个图片A的尺寸较小,那么的大尺寸的手机上,启动页会看到图片A的周边是有空白了。

这个问题处理办法:

1.如果 这个图片A的背景 有着明显的规律(这个比较巧合,很难遇到),比如:从上到下有渐变时,可以使用layer-list里的shape的gradient

2.在UI设计图片A的时候,将这个图片A的重要信息(应用的名称,icon等等)之外的其他背景 用透明表示,这样就可以使用layer-list里的shape了,将这个图片A的其它地方用shape的颜色来填充了,就不会看到周边空白的现象了。

四:设置项目启动页,在SplashActivity里面 ,用setcontentView(),设置xml布局里面的ImageView的scaleType为能自动填充满界面布局的类型:centerCrop(注意:这个类型会自动剪切掉图片A的周围,注意:的重要信息不要显示在图片的周边,尽量显示在图片的中间)

总结

到此这篇关于Android app启动图适配方法的文章就介绍到这了,更多相关Android app启动图适配内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Android App启动图启动界面(Splash)的简单实现代码

    第一步:创建一个Activity 第二步:创建一个新的Activity 命名为Splash new -> Activity -> Empty Activity p>第三步:将准备好的启动图片放到drawable目录下,并修改Splash的xml布局文件,如下图所示 第四步:修改SplashActivity中的代码如下 import android.content.Intent; import android.support.v7.app.AppCompatActivity; import

  • Android app启动图适配方法实例

    目录 前言 1.设置splash主题 2. splash_bg 设置: 3.splash布局文件设置: 附问题:项目启动时,会有白屏现象(在点击 应用图标到看到启动页之间). 总结 前言 app启动后的白屏问题,默认都是在splash页面加主题配置,主题配置一个背景来达到用户点击app图标就立马启动app的假象,大多情况下,使用背景单一的图片作为启动图,我们在设置背景颜色,就能适配的很不错了(背景颜色+logo图片的模式).但是当启动图不再单一,而且复杂的图形时候,适配就成大问题了,下面介绍我的

  • Android app启动节点与上报启动实例详解

    目录 app启动的关键节点 启动时间怎么算 方案1: 参考firebase: 方案2 : ams 总结 app启动的关键节点 经常利用content provider 和Androidx里的 startup库来对库进行初始化操作,那么app启动关键方法的执行顺序是什么样的呢? 怎么样控制我的库的启动顺序? 参考这篇文章: Android 多个 ContentProvider 初始化顺序 精髓在这张图里: 回答上面的问题: 怎么样控制我的库的启动顺序? 推荐用contentprovider,设置i

  • Android Activity启动模式之singleTop实例详解

    本文实例讲述了Android Activity启动模式之singleTop.分享给大家供大家参考,具体如下: 在前面文章<Android Activity启动模式之standard实例详解>中,我们介绍了活动的默认启动模式standard,本文继续介绍Activity的singleTop模式. singleTop模式:当Activity的活动模式设置为singleTop时,在启动活动时首先检查栈顶活动是否是该活动,如果是,在使用当前实例,否则继续创建新的实例. (1)修改AndroidMani

  • Android app启动时黑屏或者白屏的原因及解决办法

    1.产生原因 其实显示黑屏或者白屏实属正常,这是因为还没加载到布局文件,就已经显示了window窗口背景,黑屏白屏就是window窗口背景. 示例: 2.解决办法 通过设置设置Style (1)设置背景图Theme 通过设置一张背景图. 当程序启动时,首先显示这张背景图,避免出现黑屏 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name=&qu

  • 完美解决Android App启动页有白屏闪过的问题

    应用启动的时候有短暂的白屏,如图: 可以通过设置theme的方式来解决 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item

  • Android连接指定Wifi的方法实例代码

    本篇文章主要记录一下Android中打开Wifi.获取Wifi接入点信息及连接指接入点的方法. 自己写的demo主要用于测试接口的基本功能,因此界面及底层逻辑比较粗糙. demo的整体界面如下所示: 上图中的OPEN按键负责开启Wifi: GET按键负责获取扫描到的接入点信息. 当获取到接入点信息后,我选取了其中的名称及信号强度,以列表的形式显示在主界面下方,如下图: 当点击列表中的Item时,就会去连接对应的接入点. 自己的逻辑比较简单,测试时的代码,假定连接的是不许要密码或密码已知的接入点.

  • Android自定义View的实现方法实例详解

    一.自绘控件 下面我们准备来自定义一个计数器View,这个View可以响应用户的点击事件,并自动记录一共点击了多少次.新建一个CounterView继承自View,代码如下所示: 可以看到,首先我们在CounterView的构造函数中初始化了一些数据,并给这个View的本身注册了点击事件,这样当CounterView被点击的时候,onClick()方法就会得到调用.而onClick()方法中的逻辑就更加简单了,只是对mCount这个计数器加1,然后调用invalidate()方法.通过 Andr

  • android APP登陆页面适配的实现

    本文介绍了android APP登陆页面适配的实现,分享给大家,具体如下: 先看效果图. 登陆首页效果图 原理 为RootView增加监听事件,然后进行滚动 至于该滚动多少,这是需要自己慢慢进行计算. xml <LinearLayout android:id="@+id/llLogin" android:layout_width="match_parent" android:layout_height="match_parent" andr

  • Android Studio 利用Splash制作APP启动界面的方法

    最近又开始学习Android studio 了,在制作APP时,都有一个启动的界面,看上去美观且实用(也可以作为以后的广告位← 那怎样制作呢? 第一步:新建Splash 如图,新建一个Empty Activity. 然后将名字改为SplashActivity. 第二步:SplashActivity的内容 如图: 方便起见,我把代码贴出来,代码如下: public class SplashActivity extends Activity { // private final int SPLASH

随机推荐