我通过Gridview和ImageView在XML中查看,其中ImageView显示所选图像,gridview显示所有图像。
我有一个Imageview,可以说是300 dp的宽度和200 dp的高度,我使用下面的代码进行设置。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/bg">
<RelativeLayout
android:id = "@+id/relative1"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageView1"
android:layout_width="300dp"
android:layout_height="200dp"
android:adjustViewBounds="true"
android:layout_alignParentLeft="true"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
<GridView
android:id="@+id/imageGallery"
android:paddingTop="10dp"
android:layout_below="@+id/relative1"
android:stretchMode="columnWidth"
android:cacheColorHint="#00000000"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clipChildren="true"
android:horizontalSpacing="5dip"
android:verticalSpacing="5dip"
android:numColumns="2"
android:fadeScrollbars ="false"
>
现在我希望我的gridview在ImageView设置后占用所有剩余高度。因为我不希望底部有额外的空白。我知道我可以设置GridView以将底部与父对齐,但这看起来很奇怪。
答案 0 :(得分:2)
使用重量<{1}}
LinearLayout
答案 1 :(得分:1)
以下是使用 RelativeLayout
执行此操作的方法<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
>
<ImageView
android:id="@+id/imageView1"
android:layout_width="300dp"
android:layout_height="200dp"
android:adjustViewBounds="true"
android:layout_alignParentLeft="true"
android:src="@drawable/ic_launcher"
/>
<GridView
android:id="@+id/imageGallery"
android:paddingTop="10dp"
android:layout_below="@+id/imageView1"
android:stretchMode="columnWidth"
android:cacheColorHint="#00000000"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="true"
android:horizontalSpacing="5dip"
android:verticalSpacing="5dip"
android:numColumns="2"
android:fadeScrollbars ="false"
>
</RelativeLayout>
请注意,我删除了围绕ImageView的无用的 RelativeLayout 在这里,GridView正在使用所有剩余空间来填充父级。
答案 2 :(得分:0)
覆盖所有屏幕使用&#34; android:layout_weight&#34;。像这样
<GridView
android:id="@+id/imageGallery"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>