• 动画隐藏或者显示控件


    效果图

    二、布局main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        <Button 
            android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_alignParentTop="true"
           android:layout_centerInParent="true"
           android:id="@+id/btn"
           android:text="按下显示动画"/>
    
        
      <ImageView 
          android:layout_width="fill_parent"
          android:layout_height="200dp"
          android:layout_alignParentBottom="true"
          android:id="@+id/img"
          android:src="@drawable/bg"/>
    
    </RelativeLayout>

    三、mainactivity

    package com.ct.hide;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.animation.Animation;
    import android.view.animation.ScaleAnimation;
    import android.widget.Button;
    import android.widget.ImageView;
    
    public class MainActivity extends Activity {
        /** Called when the activity is first created. */
        private ImageView img;
        private Button btn;
        private boolean flag = false;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            img = (ImageView)findViewById(R.id.img);
            btn = (Button)findViewById(R.id.btn);
            btn.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    flag = !flag;
                    if(flag){
                        img.setAnimation(new MenuHideShow().hide());
                        img.setVisibility(View.GONE);
                    }else {
                        img.setAnimation(new MenuHideShow().show());
                        img.setVisibility(View.VISIBLE);
                    }
                }
            });
            
        }
        
        public class MenuHideShow{
            Animation showMenu,hideMenu;
            
            public Animation show(){
                showMenu = new ScaleAnimation(0, 1, 0, 1,
                        Animation.RELATIVE_TO_SELF, 0.5f,
                        Animation.RELATIVE_TO_SELF, 0);
                showMenu.setDuration(1000);
                return showMenu;
            }
            
            public Animation hide(){
                hideMenu = new ScaleAnimation(1, 0, 1, 0,
                        Animation.RELATIVE_TO_SELF, 0.5f,
                        Animation.RELATIVE_TO_SELF, 1);
    
                hideMenu.setDuration(1000);
    
                Log.v("menuAnimation", "hide");
    
                return hideMenu;
            }
        }
    }

     (在F:\java\MyHideShow)

  • 相关阅读:
    N皇后问题
    iPhone中自绘实现步骤
    ObjectiveC利用协议实现回调函数
    iphone实现双缓冲
    JAVA_内部类
    JAVA_ArrayList
    Ant入门
    JAVA_两种比较器的实现
    JAVA_继承内部类
    JAVA_序列化和反序列化
  • 原文地址:https://www.cnblogs.com/ct732003684/p/2860870.html
Copyright © 2020-2023  润新知