91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

android drawarc 在動畫中的應用

小樊
81
2024-11-24 01:21:40
欄目: 編程語言

在Android中,drawArc是Canvas類的一個方法,用于繪制圓弧。要在動畫中使用drawArc,你可以使用ValueAnimator來創建一個動畫,該動畫會改變圓弧的起始角度、結束角度和繪制位置。以下是一個簡單的示例,展示了如何在動畫中使用drawArc

  1. 首先,在你的布局文件中添加一個View,例如ArcView,用于繪制圓弧:
<your.package.name.ArcView
    android:id="@+id/arc_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  1. 然后,在你的Activity或Fragment中,創建一個ArcView實例,并設置其屬性:
public class MainActivity extends AppCompatActivity {

    private ArcView arcView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        arcView = findViewById(R.id.arc_view);
        arcView.setStrokeWidth(10);
        arcView.setCenterColor(Color.BLUE);
        arcView.setStartAngle(0);
        arcView.setEndAngle(90);
        arcView.setDrawArc(true);
    }
}
  1. 創建一個ValueAnimator,用于改變圓弧的起始角度、結束角度和繪制位置:
private ValueAnimator animator;

private void createAnimator() {
    animator = ValueAnimator.ofFloat(0f, 360f);
    animator.setDuration(3000);
    animator.setRepeatCount(ValueAnimator.INFINITE);
    animator.setRepeatMode(ValueAnimator.RESTART);
    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            float startAngle = (float) animation.getAnimatedValue();
            float endAngle = startAngle + 180;
            float centerX = arcView.getWidth() / 2f;
            float centerY = arcView.getHeight() / 2f;
            arcView.setStartAngle(startAngle);
            arcView.setEndAngle(endAngle);
            arcView.setCenter(centerX, centerY);
            arcView.invalidate();
        }
    });
}
  1. onCreate方法中調用createAnimator方法,開始動畫:
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    arcView = findViewById(R.id.arc_view);
    arcView.setStrokeWidth(10);
    arcView.setCenterColor(Color.BLUE);
    arcView.setStartAngle(0);
    arcView.setEndAngle(90);
    arcView.setDrawArc(true);

    createAnimator();
    animator.start();
}

現在,當你運行應用程序時,ArcView將顯示一個圓弧動畫,圓弧的角度和位置會根據ValueAnimator的值而改變。

0
辽宁省| 手游| 泸溪县| 庆云县| 务川| 柳林县| 汶上县| 巫山县| 奉节县| 咸宁市| 黄梅县| 临西县| 志丹县| 醴陵市| 宝坻区| 南昌县| 博乐市| 古田县| 裕民县| 商河县| 天祝| 兴业县| 海兴县| 仙居县| 南漳县| 南川市| 嘉黎县| 遂平县| 祁东县| 南安市| 正定县| 库尔勒市| 高台县| 积石山| 德化县| 佛学| 左贡县| 梨树县| 扎囊县| 广德县| 西乌|