ImageView应全屏但高度错误

时间:2012-01-08 00:16:10

标签: android layout imageview imageswitcher

我正在开发一个简单的应用程序,它以纵向显示屏幕下半部分的4x3方面图像,并以横向方向填充屏幕。纵向工作,320x240图像(通过网络加载)显示为大小。

旋转到横向,我在res / layout-land中使用单独的布局,省略了纵向布局的上半部分,并将ImageSwitcher全屏放置。一些半透明控件覆盖图像,因此它在布局xml中使用带有ImageSwitcher和RadioGroup的合并标记:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">

    <ImageSwitcher
        android:id="@+id/imageSwitcher"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="fill">
   </ImageSwitcher>

    <RadioGroup
        android:id="@+id/radioGroup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|left"
        android:orientation="horizontal">
    ...
</merge>

ImageSwitcher中的ImageViews是从单独的布局加载的:

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="fill"
    android:scaleType="fitXY"
    android:adjustViewBounds="true"
    android:contentDescription="@null">
</ImageView>

由于某种原因,图像视图不会填满屏幕。使用hierarchyviewer检查视图层次结构,我看到ImageSwitcher的尺寸为480x295(全屏减去顶部栏),但包含的ImageViews的尺寸为480x240。

我已经挣扎了几个小时,摆弄了ImageSwitcher和ImageViews中的所有布局设置,但我无法让ImageView与其父级的480x295维度相匹配。任何帮助或见解表示赞赏。

1 个答案:

答案 0 :(得分:1)

我发现了问题。我正在从XML布局中对ImageSwitcher中的ImageView进行充气,但这似乎不起作用。在代码中创建ImageView并为每个分配适当的FrameLayout.LayoutParams都可以。

hierarchyviewer在这里是一个很大的帮助 - 它强调了ImageViews上的布局参数不是我所期望的。