Android布局变化时动画效果的现实(二)
2014-04-08 18:21
447 查看
MainActivity如下:
main.xml如下:
scalexanimator.xml如下:
package wy.test; import android.animation.AnimatorInflater; import android.animation.LayoutTransition; import android.animation.ObjectAnimator; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; /** * Demo描述: * 布局变化时动画效果的现实(二) * 当布局发生变化时展示一个动画,不至于切换效果太生硬. * 当然类似的还可以设置布局变化的不同时刻的动画,一共有四种: * LayoutTransition.APPEARING,LayoutTransition.CHANGE_APPEARING, * LayoutTransition.CHANGE_DISAPPEARING,LayoutTransition.DISAPPEARING * * * 参考资料: * 1 http://blog.csdn.net/alrdy/article/details/7836963 * 2 http://www.cnblogs.com/mengdd/p/3305973.html * 3 http://blog.csdn.net/think_soft/article/details/12417107 * * Thank you very much */ public class TestAnimateLayoutChangesActivity extends Activity { private LinearLayout mRootLinearLayout; private Context mContext; private TextView mTextView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } private void init(){ mContext=this; mRootLinearLayout=(LinearLayout) findViewById(R.id.rootLinearLayout); mTextView=(TextView) findViewById(R.id.textView); mTextView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Button addedButton=new Button(mContext); addedButton.setText("Button"); //属性动画ObjectAnimator ObjectAnimator objectAnimator=(ObjectAnimator)AnimatorInflater.loadAnimator(mContext, R.animator.scalexanimator); objectAnimator.setTarget(addedButton); LayoutTransition layoutTransition=new LayoutTransition(); //指定为新加View出现时展示动画 layoutTransition.setAnimator(LayoutTransition.APPEARING, objectAnimator); //为布局添加LayoutTransition mRootLinearLayout.setLayoutTransition(layoutTransition); mRootLinearLayout.addView(addedButton); } }); } }
main.xml如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rootLinearLayout" android:layout_width="wrap_content" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="测试布局中的animateLayoutChanges属性\n注意测试环境为Android4.0" /> </LinearLayout>
scalexanimator.xml如下:
<?xml version="1.0" encoding="utf-8"?> <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:propertyName="scaleX" android:duration="3000" android:valueFrom="1.0" android:valueTo="0.5" > </objectAnimator>
相关文章推荐
- Android布局变化时动画效果的现实(二)
- Android布局变化时动画效果的现实(一)
- Android布局变化时动画效果的现实(一)
- Layout动画:在android布局发生变化时添加动画效果
- Layout动画:在android布局发生变化时添加动画效果
- Layout动画:在android布局发生变化时添加动画效果
- Layout动画:在android布局发生变化时添加动画效果
- Layout动画:在android布局发生变化时添加动画效果
- Android-UI布局---RecyclerView学习(六)item添加删除展现的动画效果
- Android动画效果之自定义ViewGroup添加布局动画
- Android动画效果之自定义ViewGroup添加布局动画
- 布局动画Android ScrollView HorizontalScrollView 实现全方向(上下左右)反弹效果
- 【Android Developers Training】 73. 布局变化的动画
- AndroidUI 布局动画-为列表添加布局动画效果
- Android属性动画实现布局的下拉展开效果
- android布局中子View添加动态隐藏和显示的动画效果。(LayoutTransition)
- Android 动画效果(三):overridePendingTransition(界面切换动画)与LayoutTransition(布局动画)
- Android 属性动画(Property Animation 给按钮的添加添加动画效果,同样可以用在整个布局上) (下)(viewGroup创建对象竟然可以用布局的id)
- AndroidUI 布局动画-为列表添加布局动画效果
- android 布局实现旋转动画效果