当我开始一个活动时,它会使用一个fill_parent的ImageView填充屏幕,因此视图将使用我的示例填充屏幕,分别给出600和940的X和Y值。
当我改变屏幕的方向时,获得高度和宽度似乎返回相同的值。
我可以这样旋转,它会调整ImageViews尺寸吗?
我正在查看onConfigurationChanged()到我放置代码的位置,但当我使用时
DisplayMetrics dm = new DisplayMetrics();
getManager().getDefaultDisplay().getMetrics(dm);
它将返回整个屏幕尺寸,而不是适用的画布。
如何让ImageView正确调整大小。
重新发布XML数据:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageViewer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="matrix"
android:src="@drawable/accept" />
</LinearLayout>
编辑:我可以重新加载方向更改活动并通过已保存的实例来保存数据.....如果我正确思考可以实现它,但我不想重新启动活动我真的不认为这是必要的。
答案 0 :(得分:0)
您可以使用OrientationEventListener,并在处理程序中为方向事件设置您想要的图像高度和宽度,例如,您可以扩展OrientationEventListener,然后使用:
public abstract void onOrientationChanged (int orientation)
注意:当设备的方向发生变化时,将调用上一个方法。方向参数以度为单位,范围从0到359.当设备朝向其自然位置时,方向为0度,当其左侧位于顶部时为90度,当其为倒置时为180度,当其为倒置时为180度。右边是顶部。当设备接近平坦且无法确定方向时,将返回ORIENTATION_UNKNOWN。
在那里你可以编辑ImageView高度和宽度。 祝你好运:)