gpt4 book ai didi

使用 ImageViews 调整 Android Linear/RelativeLayout 大小

转载 作者:搜寻专家 更新时间:2023-11-01 08:16:54 26 4
gpt4 key购买 nike

几天来一直坚持这个问题,但我的设置方式却无法正常工作。我有一个很大的 ImageView 网格,它们的大小都相同。它由一个 Horizo​​ntal LinearLayout 和其中的 5 个 Vertical LinearLayouts(第一张图片)组成。

我想要的(而且我不在乎如何使用 RelativeLayout、Linear 或 Tables)是如果我要将 say Image #2 设置为更大的图像(特别是较小图像的 3x3),我希望它有效地“覆盖”这些图像(如图 2 所示)。

我尝试通过将“覆盖”图像 (3,4,7,8,9,12,13,14) 设置为 setVisibility(GONE) 来实现此目的,效果很好,但随后第二个垂直 LinearLayout 已扩展为适合我不想要的新图像的大小。如果我尝试将它设置为 fill_parent 尽管它会压缩图像的大小。结果,我得到的是第三张图。

所有关联的 XML 代码(id 代码与图像上的代码匹配):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView android:id="@+id/gs01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs06"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>


<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/gs02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs07"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>


<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/gs03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs08"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>

<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/gs04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs09"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs19"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>

<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/gs05"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
<ImageView android:id="@+id/gs20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</LinearLayout>

</LinearLayout>

如果我要使用 RelativeLayouts 执行此操作,我会在设置 Visibility(GONE) 时遇到问题,因为位置很可能是使用缺少的 View 引用的。将它设置为 INVISIBLE 只会留下一个空白,而我真正想要的是它的大小实际上是 0px x 0px。

如有任何帮助,我们将不胜感激;似乎无论我尝试什么,总是会出现一些小问题,这让我发疯。

alt text

最佳答案

嗯,当我回家尝试一些东西时我会回到这个问题上,但我建议尝试使用 5 行 5 列的 TableLayout。您应该能够在代码中设置行和列跨度(让一个 View 占据多个单元格)。这就是我首先要尝试的。

This post看起来很有帮助。

关于使用 ImageViews 调整 Android Linear/RelativeLayout 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3601867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com