【问题标题】:Scaling a view to fit screen rotation/EMULATING onScale() method缩放视图以适应屏幕旋转/模拟 onScale() 方法
【发布时间】:2014-09-14 11:20:07
【问题描述】:
我正在构建草图应用程序,我想支持屏幕旋转。但是在旋转时,我想像在画廊中一样调整我的视图大小(所以它适合一个坐标)。我正在使用画布、矩阵、screenanimator 和许多其他东西将其缩放为横向或纵向模式,但遗憾的是我无法实现。
所以问题是我如何缩放我绘制的画布以适应横向和纵向模式?
编辑
好的,所以我实际上想通过捏缩放来实现我所获得的效果。我想缩小我的视野。 setScaleX 没有给我我需要的结果,所以我需要以某种方式从 ScaleGestureListener 模拟 onScale() 方法。我怎么能那样做?
【问题讨论】:
标签:
java
android
canvas
scaling
【解决方案1】:
我不确定是否有任何其他有效的方法,但这对我有用 -
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
startActivity(new Intent(this, ABCDActivity.class));
}
}
因此,每当方向发生变化时,您都可以加载新的活动。或者,您可以使用画布和其他内容创建片段,然后在方向更改时加载带有画布以适应横向模式的片段,而不是加载整个活动。