Android:GridView右侧没有显示任何内容(包装内容不工作?)

Android:GridView右侧没有显示任何内容(包装内容不工作?),android,android-layout,Android,Android Layout,我想在android中创建一个包含两个组件的DialogFragment: 左侧为带有图像的GridView,右侧为大图像(即GridView中所选图像的较大版本) 问题是我看不到自己的大形象。看起来GridView占据了所有的空间 这是我的XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" and

我想在android中创建一个包含两个组件的DialogFragment: 左侧为带有图像的GridView,右侧为大图像(即GridView中所选图像的较大版本)

问题是我看不到自己的大形象。看起来GridView占据了所有的空间

这是我的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:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="horizontal" 
android:background="#FFFFFF">

<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/image_overview"
android:layout_width="wrap_content" 
android:layout_height="fill_parent"
android:columnWidth="50dp"
android:numColumns="1"
android:gravity="left"
android:background="#FFFFFF"
/>

<ImageView
android:id="@+id/main_image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:background="#FFFFFF"
/>
</LinearLayout>

它按预期工作。 看起来包裹内容设置的宽度要大得多

这是创建我的topvew的代码(有些代码是注释,因为我尝试了一些东西来查看它是否有任何影响):

正如您所看到的,我还打印了父对象的宽度,这是一个非常大的数字。因为这里的视图是gridview中的单个项,所以我假设父视图是gridview?如果是这样的话,我不确定宽度大是否正常,因为它是在wrap_内容上配置的,但如果Android创建了一个特定大小的对话框,那么即使是wrap_内容也可能是正常的


有人知道我如何使用包装内容而不是固定大小吗

在GridView和ImageView中,使用:

android:layout_width="0dp"
android:layout_weight="1"

这应该可以解决它。如果希望一个视图比另一个视图占用更多的可用屏幕空间,可以尝试对每个视图使用不同的权重。

首先,感谢Andy Harris&Dipak Kesharya的帮助。它并没有完全解决问题,但它帮助我理解了android:layout\u weight=“0”可能会导致问题

在我将答案发布到这里之前,我已经尝试配置

android:layout_weight="1"
android:layout_weight="1"
仅针对imageview,但这不起作用。 将两者都设置为1,确实会使ImageView可见,但是,它没有正确显示。imageview的大小似乎是正确的,但它以大的形式显示了部分图像(如此放大)

我尝试使用ImageView.ScaleType和AdjustViewBounds,但没有任何效果

如果我配置

android:layout_weight="1"
android:layout_weight="1"
仅对于GridView,它正确地显示了GridView和ImageView,但在这种情况下,GridView占据了所有相应的宽度,这使得对话框的宽度与平板电脑屏幕的宽度相同(更改parentview的宽度以匹配\u parent不会改变这一点)

因此,我现在将继续使用固定尺寸


谢谢你的帮助

您可以在sdk中使用hierarchyviewer,而不是记录布局属性。它为您的布局提供了各种图形表示——非常适合调试!
android:layout_weight="1"
android:layout_weight="1"