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

来源:互联网 发布:c语言读文本文件 编辑:程序博客网 时间:2024/05/01 22:02

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

<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() {@Overridepublic 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 按钮的时候:



0 0
原创粉丝点击