public class MainActivity extends Activity {
LinearLayout rotator;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rotator = (LinearLayout) findViewById(R.id.rotator);
ObjectAnimator rotation = ObjectAnimator.ofFloat(rotator, "rotationY", 0, 360);
rotation.setDuration(3000);
rotation.start();
}
}
我有上面的代码,它围绕 Y 轴旋转 View 。问题是,透视似乎太“强”——前景中的 View 边缘变得太大而背景中的边缘变得太小。有没有可能“降低”视角因素?
最佳答案
int distance = 1900;
float scale = getResources().getDisplayMetrics().density;
rotator.setCameraDistance(distance * scale);
所以这是适用于所有屏幕密度的解决方案。
关于android - 3D旋转-透视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26512772/