美文网首页
安卓项目01:appIcon及启动页

安卓项目01:appIcon及启动页

作者: biyu6 | 来源:发表于2019-04-12 10:42 被阅读0次

    做安卓开发的时候,如果按顺序来说,首先需要做的是设置app的名字、app的图标和启动页。

    1.app名字的设置

    名字的设置非常简单,一般工程创建后,app默认的名字是工程的名字,只要在res-values-strings.xml中修改app_name后面的值即可,如:

    <string name="app_name">我的安卓</string>
    

    2.app图标的设置

    app图标的设置与iOS类似,需要将图标放到相应的资源文件夹下即可,安卓图标有5种尺寸、2个规格和1个特别情况。
    5种尺寸为:48×48、72×72、96×96、144×144、192×192;
    2种规格为:圆形、方形带圆角;
    1个特别情况是:Android 8.0以上需要前景层和背景层设置;

    设置app图标的操作:

    1.需要问UI要两种规格的app图标:圆形和方形带圆角,尺寸可以要最大的192×192,然后自己再分别压缩图片尺寸拿到其他四种较小尺寸的图片;
    2.将方形带圆角的图片统一命名为:ic_launcher.png、圆形图片统一命名为ic_launcher_round.png;注意命名中不能有大写字母,否则会报错(搞不懂是为什么);当然图片名称也可以自己命名成其他的名称,但需要到配置文件中进行修改;
    3.在res下,有mipmap-hdpi、mipmap-mdpi、mipmap-xhdpi、mipmap-xxhdpi、mipmap-xxxhdpi这五个文件夹;在这五个文件夹中分别放入:72×72、48×48、96×96、144×144、192×192五种规格的图片;特别注意,hdpi文件夹中应放入72×72的图标。
    4.Android8.0以上的图标适配,具体可以参考https://blog.csdn.net/CheacK66/article/details/81541632 这篇博客,说的很清楚。

    3.app启动页的设置

    Android下的启动页,设置要比iOS的更为复杂,iOS的机型不多,所以只需要将各自尺寸的启动图拖到对应的机型中即可,但Android的机型太多了,所以需要自己创建一个activity,在这个activity中添加铺满全屏的启动图片。
    具体操作为:
    1.创建一个启动页activity,这里命名为BYStartupActivity;
    2.在res-value-styles.xml中设置启动页的样式,防止出现点击图标启动-短暂白屏或黑屏-显示启动页这个问题。

     <!--应用启动页的样式设置:防止出现白屏-->
        <style name="ThemeSplash" parent="Theme.AppCompat.Light.NoActionBar">
             <!--startup_ic是启动页的背景图片-->
            <item name="android:background">@drawable/startup_ic</item>
            <item name="android:windowNoTitle">true</item>
            <item name="android:windowFullscreen">true</item>
            <item name="windowActionBar">false</item>
            <!--隐藏状态栏的-->
            <item name="windowNoTitle">true</item>
        </style>
    

    3.在配置文件中,将第一个activity改为启动页BYStartupActivity

      <activity android:name=".MainActivity" />
            <!--设置启动页的theme样式,防止出现白屏-->
            <activity android:name=".BYStartupActivity" android:theme="@style/ThemeSplash">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    

    4.在启动页BYStartupActivity中处理一些其他任务(比如网络请求或广告)然后跳转到MainActivity

    public class BYStartupActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //在onCreate之后、setContentView之前会出现短暂的白屏或黑屏,这是因为页面的窗体绘制优先于资源加载了,
            //解决方法是在配置文件中,引入theme,在styles中设置启动页的样式:style name="ThemeSplash",这里不再加载contentView
    //        setContentView(R.layout.activity_bystartup);
    
            //加载启动页
            initRequestStartUpView();
        }
      private void initRequestStartUpView(){//并加载网络请求
            new Thread(new Runnable() {//开启子线程
                @Override
                public void run() {
                    //在子线程中执行一个耗时任务,比如加载网络请求
    
                    runOnUiThread(new Runnable(){//回到主线程更新UI
                        @Override
                        public void run() {
                            Intent intent = new Intent(BYStartupActivity.this, MainActivity.class);//从当前Activity跳转至首页的MainActivity
                            startActivity(intent);//开启一个新意图
                            BYStartupActivity.this.finish();//关闭当前的Activity
                        }
                    });
                }
            }).start();//启动子线程
        }
    

    相关文章

      网友评论

          本文标题:安卓项目01:appIcon及启动页

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