我正在构建草图应用程序,我想支持屏幕旋转。但在旋转时,我想像在画廊中一样调整我的 View 大小(因此它适合一个坐标)。我使用 Canvas 、矩阵、屏幕动画师和许多其他东西将其缩放到横向或纵向模式,但遗憾的是我无法实现它。
所以问题是我如何缩放绘制的 Canvas 以适应横向和纵向模式?
编辑
好吧,所以我实际上想通过捏合缩放来实现我所获得的效果。我想缩小我的视野。 setScaleX 没有给我需要的结果,所以我需要以某种方式从 ScaleGestureListener 模拟 onScale() 方法。我怎么能这么做呢?
最佳答案
我不确定是否还有其他有效的方法,但这对我有用 -
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
startActivity(new Intent(this, ABCDActivity.class));
}
}
因此,每次方向发生变化时,您都可以加载新的 Activity 。或者,您可以使用 Canvas 和其他内容创建一个 fragment ,然后不必加载整个 Activity ,只需在方向发生变化时加载绘制有适合横向模式的 Canvas 的 fragment 。
关于java - 缩放 View 以适应屏幕旋转/模拟 onScale() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25832682/