美文网首页
安卓项目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