思路:(左右抖動)
- 撰寫一個影片:控制元件從左移到右,
- 然后執行此影片多次,
cycleInterpolator加速器
- 作用:讓影片連續執行多次
- cycles:執行次數 (
android:cycles="2")
效果
實際效果比圖好,gif顯示抖動不太全


1. 添加兩個影片檔案

- 添加 anim檔案

- 新建2個 xml檔案



- shake_button.xml
<?xml version="1.0" encoding="utf-8"?>
<!--
translate:移動標簽
fromXDelta,toXDelta:表示x軸移動的像素點
fromYDelta,toYDelta:表示Y軸移動的像素點
duration:持續時間(ms)
interpolator:插值器(可以參考自定義)(參考系統的:https://www.jianshu.com/p/1f2501840db8)
-->
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="30"
android:duration="200"
android:interpolator="@anim/cycle_7"/>
- cycles.xml
<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:cycles="2" />

2. 加載影片資源
- MainActivity.java
public class MainActivity extends AppCompatActivity {
Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = findViewById(R.id.bt);
}
public void button(View v){
//加載影片資源檔案
Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake_button);
//給組件播放影片效果
//findViewById(R.id.bt).startAnimation(shake); //寫法一
bt.startAnimation(shake); //寫法二
}
}
- activity_main.xml
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="別點我"
android:onClick="button"
android:id="@+id/bt"/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/50789.html
標籤:其他
