抖動視窗的實現

jia635發表於2014-03-26



public class AnimActivity extends Activity {
EditText edit;
Button btn;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        edit = (EditText)findViewById(R.id.edit);
        btn = (Button)findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Animation anim = AnimationUtils.loadAnimation(AnimActivity.this, R.anim.myanim);
edit.startAnimation(anim);
}
});
    }
}


兩個動畫XML檔案都要在 res下建立一個anim的資料夾

cycle.xml

<?xml version="1.0" encoding="utf-8"?>


<cycleInterpolator 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:cycles="2"/>


想讓他怎樣抖動改變 X,Y座標的設定就行了


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@anim/cycle"
    >
    <translate
        android:fromXDelta="0"
        android:toXDelta="-10"
        android:fromYDelta="0"
        android:toYDelta="-10"
        android:duration="300"/>
 <translate
        android:fromXDelta="0"
        android:toXDelta="10"
        android:fromYDelta="0"
        android:toYDelta="-10"
        android:startOffset="300"
        android:duration="300"/>
  <translate
        android:fromXDelta="0"
        android:toXDelta="-10"
        android:fromYDelta="0"
        android:toYDelta="10"
        android:startOffset="600"
        android:duration="300"/>
   <translate
        android:fromXDelta="0"
        android:toXDelta="10"
        android:fromYDelta="0"
        android:toYDelta="10"
        android:startOffset="900"
        android:duration="300"/>
</set>


Layout 的XML檔案

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >


    <EditText
        android:layout_marginTop="100dp"
        android:id="@+id/edit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="點選按鈕、此視窗抖動" />
    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="按鈕" />
</LinearLayout>

相關文章