Анимация сальто карты не выглядит хорошо на Android 7 Nougat
Спасибо за чтение моего вопроса. У меня проблема возникает только в Android 7.0 (Nougat) и происходит то, что карта (фрагмент с изображениями), когда она вращается в анимации, неожиданно обрезает часть изображения, смотрите:
Android 7 Нуга Скриншот
Android 4.4 Kitkat Скриншот
Я использую анимацию (еще не objectAnimator), вот мой код:
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
// Angle around the y-axis of the rotation at the given time
// calculated both in radians and degrees.
final double radians = Math.PI * interpolatedTime;
float degrees = (float) (180.0 * radians / Math.PI);
Log.d(LOG_TAG," "+interpolatedTime);
// Once we reach the midpoint in the animation, we need to hide the
// source view and show the destination view. We also need to change
// the angle by 180 degrees so that the destination does not come in
// flipped around
if (interpolatedTime >= 0.5f) {
degrees -= 180.f;
fromView.setVisibility(View.GONE);
toView.setVisibility(View.VISIBLE);
}
if (forward)
degrees = -degrees; //determines direction of rotation when flip begins
//computing
final Matrix matrix = t.getMatrix();
camera.save();
camera.translate(0, 0, Math.abs(degrees) * 3f);
camera.rotateY(degrees);
camera.getMatrix(matrix);
camera.restore();
matrix.preTranslate(-centerX, -centerY);
matrix.postTranslate(centerX, centerY);
}
Большое спасибо за то, что поделились своими идеями.:)
1 ответ
Прочитайте https://developer.android.com/reference/android/view/View.html
Вы должны установить расстояние до камеры. Я знаю, что этот вопрос старый, но я надеюсь, что это кому-нибудь поможет.