伸缩 菜单(八个圆点) 小实例

来源:互联网 发布:为什么淘宝无法评价 编辑:程序博客网 时间:2024/05/16 23:54

<?xml version="1.0" encoding="utf-8"?><FrameLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.moliying.a57_property_animation.MenuActivity">    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/imageView3_a8"        android:layout_gravity="left|top"        android:src="@mipmap/a8"/>    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/imageView3_a7"        android:layout_gravity="left|top"        android:src="@mipmap/a7"/>    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/imageView3_a6"        android:layout_gravity="left|top"        android:src="@mipmap/a6"/>    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/imageView3_a5"        android:layout_gravity="left|top"        android:src="@mipmap/a5"/>    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/imageView3_a4"        android:layout_gravity="left|top"        android:src="@mipmap/a4"/>    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/imageView3_a3"        android:layout_gravity="left|top"        android:src="@mipmap/a3"/>    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/imageView3_a2"        android:layout_gravity="left|top"        android:src="@mipmap/a2"/>    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/imageView3_a1"        android:layout_gravity="left|top"        android:src="@mipmap/a1"/></FrameLayout>


res/mipmap中有八个不同颜色的圆点图案


package com.moliying.a57_property_animation;import android.animation.AnimatorSet;import android.animation.ObjectAnimator;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.animation.BounceInterpolator;import android.widget.ImageView;import android.widget.Toast;import java.util.ArrayList;import java.util.List;public class MenuActivity extends AppCompatActivity implements View.OnClickListener{    private int[] imageViewIds = {            R.id.imageView3_a1,            R.id.imageView3_a2,            R.id.imageView3_a3,            R.id.imageView3_a4,            R.id.imageView3_a5,            R.id.imageView3_a6,            R.id.imageView3_a7,            R.id.imageView3_a8    };    private List<ImageView> list = new ArrayList<>();    private boolean isOpen = true;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_menu);        for (int i=0;i<imageViewIds.length;i++){            ImageView iv = (ImageView) findViewById(imageViewIds[i]);            iv.setOnClickListener(this);            list.add(iv);        }    }    @Override    public void onClick(View v) {        switch (v.getId()){            case R.id.imageView3_a1:                if(!isOpen){                    openMenu();                    isOpen = true;                }else{                    closeMenu();                    isOpen = false;                }                break;            case R.id.imageView3_a2:                Toast.makeText(MenuActivity.this, "单击了a2", Toast.LENGTH_SHORT).show();                break;            case R.id.imageView3_a3:                Toast.makeText(MenuActivity.this, "单击了a3", Toast.LENGTH_SHORT).show();                break;            case R.id.imageView3_a4:                Toast.makeText(MenuActivity.this, "单击了a4", Toast.LENGTH_SHORT).show();                break;            case R.id.imageView3_a5:                Toast.makeText(MenuActivity.this, "单击了a5", Toast.LENGTH_SHORT).show();                break;            case R.id.imageView3_a6:                Toast.makeText(MenuActivity.this, "单击了a6", Toast.LENGTH_SHORT).show();                break;            case R.id.imageView3_a7:                Toast.makeText(MenuActivity.this, "单击了a7", Toast.LENGTH_SHORT).show();                break;            case R.id.imageView3_a8:                Toast.makeText(MenuActivity.this, "单击了a8", Toast.LENGTH_SHORT).show();                break;        }    }    /**     * 关闭菜单     */    private void closeMenu() {        for(int i=1;i<imageViewIds.length;i++){            ObjectAnimator a1 = ObjectAnimator.ofFloat(list.get(i),"translationX",100*i,0);            a1.setInterpolator(new BounceInterpolator());            ObjectAnimator a2 = ObjectAnimator.ofFloat(list.get(i),"translationY",100*i,0);            a2.setInterpolator(new BounceInterpolator());            AnimatorSet set = new AnimatorSet();            set.setDuration(500);            set.playTogether(a1,a2);            set.start();        }    }    /**     * 打开菜单     */    private void openMenu() {        for(int i=1;i<imageViewIds.length;i++){            ObjectAnimator a1 = ObjectAnimator.ofFloat(list.get(i),"translationX",0,100*i);            a1.setInterpolator(new BounceInterpolator());            ObjectAnimator a2 = ObjectAnimator.ofFloat(list.get(i),"translationY",0,100*i);            a2.setInterpolator(new BounceInterpolator());            AnimatorSet set = new AnimatorSet();            set.setDuration(500);            set.playTogether(a1,a2);            set.start();        }    }}


0 0
原创粉丝点击