改善android Fragment动画性能

时间:2017-02-02 21:38:11

标签: android-fragments animation

我有一个带有创建帐户按钮的活动。单击该按钮时,它会执行上滑动画。它缓慢且波涛汹涌。我在nexus 4仿真器和Galaxy s7边缘测试了这个。我已尝试在asynctask中运行它,但它没有改进动画。

有没有办法可以改善动画效果?

创建帐户按钮onclick方法:

public void createAccount(View v) {
    Log.i("Login", "Create Account button tapped.");

    new AsyncTask<Void, Void, Void>() {

        @Override
        protected Void doInBackground(Void... params) {

            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            transaction.setCustomAnimations(R.anim.slide_up, 0);
            transaction.add(R.id.create_account_frame_layout, new CreateAccountFragment()).commit();
            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
        }
    }.execute();

}

CreateAccountFragment类:

import android.support.v4.app.Fragment;

public class CreateAccountFragment extends Fragment {

    public CreateAccountFragment() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.create_account_background, container, false);

        return rootView;

    }

}

1 个答案:

答案 0 :(得分:0)

原来我的问题不在于动画。动画效果不佳的原因是因为我只为所有应用程序的背景提供了一个图像。

正因为如此,图像正在调整大小 - 这是一个昂贵的过程。

我通过提供多个背景图片来更正了问题,并为mipmap文件夹中的每个dpi调整了大小。