如何在Android中使这个动画更流畅?

时间:2016-08-09 10:16:17

标签: android animation graphics translate

我正在编写一个包含音乐调音器的Android应用程序。一个小节在调谐器之间来回移动,以指示该人演奏音符的锐度或平坦程度。我目前用来移动栏的代码如下:

    public void moveBar(int newBarPosition) {
    currentlyAnimating = true;
    final ImageView tuningBar = (ImageView) findViewById(R.id.tuner_bar);
    final Animation barAnimation = new TranslateAnimation(currentBarPos, newBarPosition, 0, 0);
    barAnimation.setFillAfter(true);
    barAnimation.setDuration(50);
    currentBarPos = newBarPosition;


        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                try{
                tuningBar.startAnimation(barAnimation);
                Thread.sleep(50);
                    currentlyAnimating = false;
                }
                catch (InterruptedException e){
                    e.printStackTrace();
                }
            }
        });
}

动画需要很短,因为大约每10毫秒左右就可以读取乐器声音的音高。这导致了一个非常动人的动画。

我可以在播放动画之前访问酒吧需要移动的所有点,因为调谐器正在显示录制音符的音高,所以我的问题是:无论如何我能使这个动画更流畅吗?在Android中是否有其他类型的动画更适合大量的新点,以便将drawable移动到很短的时间内?

0 个答案:

没有答案