Android Api Demos登顶之路(九十九)Text-->Animation->Push

来源:互联网 发布:秋雨捐书 知乎 编辑:程序博客网 时间:2024/04/27 18:14
/* * 这个demon演示了使用ViewFlipper来管理视图之间的切换,ViewFlipper同时继承FrameLayout和  * ViewAnimator。ViewFlipper会按照设定的动画效果自动完成ViewFlipper内部的各个View之间的 * 动画切换。 */public class MainActivity extends Activity implements OnItemSelectedListener {    private String[] mStrings = { "Push up", "Push left", "Cross fade",            "Hyperspace" };    private ViewFlipper mFlipper;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mFlipper = (ViewFlipper) findViewById(R.id.flipper);        mFlipper.startFlipping();        Spinner s = (Spinner) findViewById(R.id.spinner);        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,                android.R.layout.simple_spinner_item, mStrings);        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);        s.setAdapter(adapter);        s.setOnItemSelectedListener(this);    }    @Override    public void onItemSelected(AdapterView<?> parent, View view, int position,            long id) {        switch (position) {        case 3:            //设置进入动画            mFlipper.setInAnimation(AnimationUtils.loadAnimation(                    MainActivity.this, R.anim.hyperspace_in));            //设置退出动画            mFlipper.setOutAnimation(AnimationUtils.loadAnimation(                    MainActivity.this, R.anim.hyperspace_out));            break;        default:            break;        }    }    @Override    public void onNothingSelected(AdapterView<?> parent) {    }}

activity_main.xml

<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:orientation="vertical"    android:padding="10dp" >    <ViewFlipper         android:id="@+id/flipper"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:flipInterval="2000"        android:layout_marginBottom="10dp">        <TextView             android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:textSize="16sp"            android:textColor="#ffff0000"            android:text="这是第一个文本!"/>        <TextView             android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:textSize="16sp"            android:textColor="#ff00ff00"            android:text="这是第二个文本!"/>        <TextView             android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:textSize="16sp"            android:textColor="#ff0000ff"            android:text="这是第三个文本!"/>    </ViewFlipper>    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="select an animation:" />    <Spinner         android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/spinner"/></LinearLayout>

hyperspace_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <alpha android:fromAlpha="0.0"        android:toAlpha="1.0"        android:duration="300"        android:startOffset="1200"/></set>

hyperspace_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">     <scale         android:interpolator="@android:anim/accelerate_decelerate_interpolator"        android:fromXScale="1.0"         android:toXScale="1.4"         android:fromYScale="1.0"         android:toYScale="0.6"         android:pivotX="50%"        android:pivotY="50%"        android:fillEnabled="true"        android:fillAfter="false"        android:duration="700" />    <set android:interpolator="@android:anim/accelerate_interpolator">        <scale            android:fromXScale="1.4"             android:toXScale="0.0"            android:fromYScale="0.6"            android:toYScale="0.0"            android:pivotX="50%"            android:pivotY="50%"            android:fillEnabled="true"            android:fillBefore="false"            android:fillAfter="true"            android:startOffset="700"            android:duration="400" />        <rotate             android:fromDegrees="0"             android:toDegrees="-45"            android:toYScale="0.0"            android:pivotX="50%"            android:pivotY="50%"            android:fillEnabled="true"            android:fillBefore="false"            android:fillAfter="true"            android:startOffset="700"            android:duration="400" />    </set></set>
0 0
原创粉丝点击