012 Android 动画效果(补间动画) +去掉App默认自带的标题+更改应用的图标

1.介绍

补间动画开发者只需指定动画开始,以及动画结束"关键帧", 而动画变化的"中间帧"则由系统计算并补齐!

2.去掉App的标题

(1)将AndroidManifest文件中Application标签中内容保持不变。

android:theme="@style/AppTheme"(即默认设置).

(2)修改values->styles.xml中的设置

将以下内容:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

替换为:

<resources>

    <!-- Base application theme. -->
    <!--<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">-->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

3.修改应用显示的图标

AndroidManifest文件中,将以下代码进行修改。

(1)修改前

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

(2)修改后

<application
        android:allowBackup="true"
        android:icon="@mipmap/icon_150"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

4.XML布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
    tools:context=".MainActivity">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/bt_touming"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="透明" />

        <Button
            android:id="@+id/bt_xuanzhuan"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="旋转" />

        <Button
            android:id="@+id/bt_suofang"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="缩放" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            app:srcCompat="@mipmap/ic_launcher" />
    </LinearLayout>
</LinearLayout>

5.java后台

package com.example.administrator.test60donghua;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    Button bt_touming;
    Button bt_xuanzhuan;
    Button bt_suofang;
    ImageView iv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bt_touming=findViewById(R.id.bt_touming);
        bt_xuanzhuan=findViewById(R.id.bt_xuanzhuan);
        bt_suofang=findViewById(R.id.bt_suofang);
        iv=findViewById(R.id.imageView);

        //透明动画
        bt_touming.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //创建透明动画,1.0为完全不透明,0.0为完全透明
                AlphaAnimation aa=new AlphaAnimation(1.0f,0.0f);
                aa.setDuration(2000);//设置动画执行的时间
                aa.setRepeatCount(1); //设置动画重复的次数
                aa.setRepeatMode(Animation.REVERSE); //设置重复的模式
                iv.startAnimation(aa); //开始执行动画
            }
        });

        //旋转效果
        bt_xuanzhuan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                RotateAnimation ra=new RotateAnimation(0,360,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
                ra.setDuration(2000);//设置动画执行的时间
                ra.setRepeatCount(1); //设置动画重复的次数
                ra.setRepeatMode(Animation.REVERSE); //设置重复的模式
                iv.startAnimation(ra); //开始执行动画
            }
        });

        bt_suofang.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ScaleAnimation sa=new ScaleAnimation(1.0f,2.0f,1.0f,2.0f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
                sa.setDuration(2000);//设置动画执行的时间
                sa.setRepeatCount(1); //设置动画重复的次数
                sa.setRepeatMode(Animation.REVERSE); //设置重复的模式
                iv.startAnimation(sa); //开始执行动画
            }
        });


    }
}

6.效果图

posted @ 2019-05-04 15:41  雨后观山色  阅读(310)  评论(0编辑  收藏  举报