android - 3D 旋转 - 透视

原文 标签 android animation 3d rotation perspective

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/

相关文章:

java - android中的默认微调样式

android - 如何在特定区域的图像中填充颜色?

iphone - 自定义事件循环和UIKit控件。苹果的事件循环还有什么额外的魔力?

javascript - 如何同时设置div的高度和动画宽度

jquery - 如何在 JQuery 中用动画替换 div 内容?

android - Android 中资源类型的常量

java - recyclerview中的list.remove()错误

c++ - 从运动中对结构进行三角剖分之后

javascript - Three.js:从后期处理中添加BloomEffect

python - 在3D激光扫描仪中查找合成的XYZ点