美文网首页
【原创】闪屏优化之2张图片的摆放的win背景如何和闪屏页面的图片

【原创】闪屏优化之2张图片的摆放的win背景如何和闪屏页面的图片

作者: 吉凶以情迁 | 来源:发表于2022-11-04 15:30 被阅读0次

首先把背景图单独拖动出一个窗口,发现进行修改,闪屏页面的布局也可以实时预览,把闪屏页面act的背景设置透明,
总之做这件事就是不想切图,就一张logo一张banner, 闪屏页就是这么做的,现在我要用window背景也没代替闪屏页,闪屏页直接透明, 实现 闪屏和白屏背景是同样的位置。


    <style name="Animation_No">
        <item name="android:activityOpenEnterAnimation">@null</item>
        <item name="android:activityOpenExitAnimation">@null</item>
        <item name="android:activityCloseEnterAnimation">@null</item>
        <item name="android:activityCloseExitAnimation">@null</item>
        <item name="android:taskOpenEnterAnimation">@null</item>
        <item name="android:taskOpenExitAnimation">@null</item>
        <item name="android:taskCloseEnterAnimation">@null</item>
        <item name="android:taskCloseExitAnimation">@null</item>
        <item name="android:taskToFrontEnterAnimation">@null</item>
        <item name="android:taskToFrontExitAnimation">@null</item>
        <item name="android:taskToBackEnterAnimation">@null</item>
        <item name="android:taskToBackExitAnimation">@null</item>
    </style>
    
    <style name="Theme.Splash" parent="Theme.MyApplication.Fullscreen">
        <item name="android:windowBackground">@drawable/drawable_splash</item>
        <item name="android:windowAnimationStyle">@style/Animation_No</item>
    </style>

drawable_splash

是2个logo一个是纯logo一个是水平banner logo

设置splash界面的logo透明度为0.1 放大进行比较

image.png

闪屏页背景

     <androidx.constraintlayout.widget.ConstraintLayout

         tools:context="com.sotrun.act.SplashActivity"
         android:theme="@style/ThemeOverlay.MyApplication.FullscreenContainerTranslate"

         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:id="@+id/fullscreen_content"
         xmlns:tools="http://schemas.android.com/tools"
         android:layout_width="match_parent"
         android:layout_height="match_parent">

//-----------
    <style name="ThemeOverlay.MyApplication.FullscreenContainerTranslate" parent="">
        <item name="fullscreenBackgroundColor">@color/transparent</item>
        <item name="fullscreenTextColor">@color/themeColor</item>
    </style>

闪屏页之前的底部logo

 <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:visibility="visible"
            android:alpha="0.1"
            android:background="@color/red"

            android:layout_marginBottom="15dp"
            android:layout_height="wrap_content">
            <ImageView
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                android:src="@drawable/logo_banner"
                android:scaleType="centerInside"
                app:layout_constraintDimensionRatio="3.965:1"
                app:layout_constraintWidth_percent="0.5"
                android:layout_width="0dp"
                android:layout_height="0dp"
                />
        </androidx.constraintlayout.widget.ConstraintLayout>

闪屏window背景

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

    <item
        android:width="150dp"
        android:height="150dp"
        android:gravity="top|center_horizontal"
        android:top="80dp">
        <inset android:drawable="@drawable/sotrun" />
    </item>

    <item android:height="300dp" android:right="30dp" android:gravity="bottom" android:bottom="15dp" >
        <scale
            android:level="5"
            android:scaleGravity="center_horizontal|bottom"
            android:useIntrinsicSizeAsMinimum="false"
            android:scaleWidth="50%"
            android:scaleHeight="82.3%"
            android:drawable="@drawable/logo_banner"
            >
        </scale>


    </item>

</layer-list>

可以发现的是宽度和 闪屏页xml 定义的权重百分之50 是一样的,只是高度我是微调出来的可能会有拉伸。
这个图片实际尺寸是 1150x290 比例是3.965

最后发现运行后并不是那样的,所以最后我把图片变成了高宽一样,或者改成.9解决此问题。
改成大小一样之后


    <item android:height="600dp" android:width="600dp"  android:gravity="bottom|center_horizontal" android:bottom="15dp" >
        <scale
            android:level="5"
            android:scaleGravity="center_horizontal|bottom"
            android:useIntrinsicSizeAsMinimum="false"
            android:scaleWidth="50%"
            android:scaleHeight="50%"
            android:drawable="@drawable/logo_banner_squre"
            >
        </scale>


    </item>

这里外层高宽改成一样就行。

最后状态栏隐藏

    <style name="Theme.Splash" parent="Theme.MyApplication.Fullscreen">
        <item name="android:windowBackground">@drawable/logo_splash</item>
        <!--将顶部状态栏设置为透明,并将界面内容布局上边界上提至状态栏顶部-->
<!--        <item name="android:windowTranslucentStatus">true</item>-->
        <item name="android:statusBarColor">@color/white_no_night</item>
        <!--如果有底部虚拟导航栏,则将底部虚拟导航栏设置为透明,并将界面内容布局下边界下沉至虚拟导航栏底部-->
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:windowAnimationStyle">@style/Animation_No</item>
        <!-- 隐藏状态栏 -->
        <item name="android:windowFullscreen">true</item>
        <!-- 隐藏标题栏 -->
        <item name="android:windowNoTitle">true</item>
    </style>
    <style name="ThemeOverlay.MyApplication.FullscreenContainer" parent="">
        <item name="fullscreenBackgroundColor">@color/white</item>
        <item name="fullscreenTextColor">@color/themeColor</item>
    </style>


相关文章

网友评论

      本文标题:【原创】闪屏优化之2张图片的摆放的win背景如何和闪屏页面的图片

      本文链接:https://www.haomeiwen.com/subject/dfxutdtx.html