Android Layouts在活动中是否有办法将尺寸重置为Layouts / ImageView?

时间:2012-10-04 19:55:09

标签: java android android-layout orientation

当我开始一个活动时,它会使用一个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>

编辑:我可以重新加载方向更改活动并通过已保存的实例来保存数据.....如果我正确思考可以实现它,但我不想重新启动活动我真的不认为这是必要的。

1 个答案:

答案 0 :(得分:0)

您可以使用OrientationEventListener,并在处理程序中为方向事件设置您想要的图像高度和宽度,例如,您可以扩展OrientationEventListener,然后使用:

public abstract void onOrientationChanged (int orientation)

注意:当设备的方向发生变化时,将调用上一个方法。方向参数以度为单位,范围从0到359.当设备朝向其自然位置时,方向为0度,当其左侧位于顶部时为90度,当其为倒置时为180度,当其为倒置时为180度。右边是顶部。当设备接近平坦且无法确定方向时,将返回ORIENTATION_UNKNOWN。

在那里你可以编辑ImageView高度和宽度。 祝你好运:)