Faith学习笔记:Android项目---新闻App(一)

整体布局

初始页面

刚进app时时有一个动画的页面
Faith学习笔记:Android项目---新闻App(一)_第1张图片
这其中还有个旋转和放缩的动画
首先创建一个SplashActivity和其对应的activity_splash布局文件

以下是activity_xml的代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/rl_splahs_root"
    //这个是背景图片,可以自己定义
    android:background="@drawable/splash_bg_newyear"
    tools:context=".SplashActivity">
	//此图片为羊
    <ImageView
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/splash_sheep_newyear"/>

</RelativeLayout>

以下为SplashActivity.java

public class SplashActivity extends AppCompatActivity {
    private RelativeLayout rl_splahs_root;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        rl_splahs_root = findViewById(R.id.rl_splahs_root);

		//渐变动画
        AlphaAnimation aa = new AlphaAnimation(0,1);
        aa.setDuration(500);
        aa.setFillAfter(true);
		
		//放缩动画
        ScaleAnimation sa = new ScaleAnimation(0,1,0,1,ScaleAnimation.RELATIVE_TO_SELF,0.5f,
                ScaleAnimation.RELATIVE_TO_SELF,0.5f);
        sa.setDuration(500);
        sa.setFillAfter(true);
		
		//旋转动画
        RotateAnimation ra = new RotateAnimation(0,360,RotateAnimation.RELATIVE_TO_SELF,0.5f,
                RotateAnimation.RELATIVE_TO_SELF,0.5f);
		
		//设置个整体动画
        AnimationSet set = new AnimationSet(false);
        set.addAnimation(ra);
        set.addAnimation(aa);
        set.addAnimation(sa);
        set.setDuration(2000);


        rl_splahs_root.startAnimation(set);
		//为动画设置监听器
        set.setAnimationListener(new MyAnimationListner());
    }

	//动画的监听器,在开头、结束、重复时的监听
    private class MyAnimationListner implements Animation.AnimationListener {
        @Override
        public void onAnimationStart(Animation animation) {

        }

        @Override
        public void onAnimationEnd(Animation animation) {
            Toast.makeText(SplashActivity.this, "动画播放完成了", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    }
}

注意:如果项目中有MainActivity则需要把MainActivity下的

	<intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

放到SplashActivity下,这才能使App刚启动的时候打开的是SplashActivity
现在就完成了开始界面的操作

补充

  1. 如何修App的名字:
    在AndroidMainfest.xm中的

  2. 如何修改App的外部图表
    在AndroidMainfest.xml中的

你可能感兴趣的:(安卓开发)