• AndroidUI 布局动画-布局内容改变动画


    实现一个点击菜单动画添加按钮,点击按钮移除当前按钮的动画效果;

    <LinearLayout 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"
        android:id="@+id/linerLayout1"
        android:orientation="vertical"
        // 如果要实现动画效果的话,此选项要设置为true
        android:animateLayoutChanges="true"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
    
    </LinearLayout>

    为应用添加一个菜单  res/menu/main.xml,添加一个菜单项:

        <item android:id="@+id/action_add"
            android:showAsAction="always"
            android:icon="@android:drawable/ic_input_add" />

    代码:

    private LinearLayout layout1;
    	private OnClickListener btnOnClickListener=new OnClickListener() {
    		
    		@Override
    		public void onClick(View v) {
    			//移除按钮时,使用由大到小的缩放效果,然后移除按钮
    			ScaleAnimation scale=new ScaleAnimation(1,0,1,0,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
    			scale.setDuration(1000);
    			v.startAnimation(scale);
    			layout1.removeView(v);
    		}
    	};
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            layout1=(LinearLayout)findViewById(R.id.linerLayout1);
        }
    
        private void addButton() {
        	//添加按钮并且为按钮实现一个缩放的动画效果,使按钮可以从小到大实现缩放
    		Button  btn=new Button(this);
    		btn.setText("Remove me");
    		ScaleAnimation scale=new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
    		scale.setDuration(1000);
    		btn.setAnimation(scale);
    		//实现OnClick监听,当点击按钮的时候移除按钮
    		btn.setOnClickListener(btnOnClickListener);
    		layout1.addView(btn);
    	}
        
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
        	switch (item.getItemId()) {
    		case R.id.action_settings:
    			return true;
    		case R.id.action_add:
    			//如果点击的菜单是添加的菜单的话,则执行添加按钮操作
    			addButton();
    			break;
    		default:
    			break;
    		}
        	return super.onOptionsItemSelected(item);
        }


    点击添加按钮的时候:

    点击Remove 按钮的时候:



  • 相关阅读:
    应用SecureCRT(发送接收文件)
    应用mysql(Linux中安装)
    应用tomcat(Linux中安装)
    应用Oracle(Linux中的安装)
    关于Linux(时间网路同步)
    VmWare问题解决(网络变更后虚拟主机无法上网)
    [Android学习笔记]Bitmap,BitmapDrawable,BitmapFactory学习笔记
    [Android学习笔记]获取view的尺寸和坐标
    [Android学习笔记]继承自ViewGroup的控件的过程学习
    [Android学习笔记]Canvas的使用
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114788.html
Copyright © 2020-2023  润新知