我正在尝试使用LinearLayout来实现具有多个图像的布局,这些图像的水平位置均匀分布在某个宽度为[A]的容器中。随着容器宽度的缩小,图像应该相互重叠。
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/File">
<xsl:copy>
<xsl:for-each-group select="Worker/Detail" group-by="EmployeeID">
<Worker>
<xsl:for-each-group select="current-group()" group-by="PayCode">
<Detail>
<xsl:copy-of select="EmployeeID | FirstName | PayCode"/>
<Amount>
<xsl:value-of select="format-number(sum(current-group()/Amount),'#.000000')"/>
</Amount>
</Detail>
</xsl:for-each-group>
</Worker>
</xsl:for-each-group>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
上面的布局将图像均匀分布在容器宽度[A]:
中然而,当将[A]更改为应该使图像重叠的某个小值时,它们会按比例缩小以使它们适合其父RelativeLayout的宽度。这很奇怪,因为我明确地在[B]处询问了<LinearLayout
android:orientation="horizontal"
android:layout_width="128dp" <--- [A]
android:layout_height="64dp"
>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
>
<ImageView
android:layout_width="wrap_content" <---- [B]
android:layout_height="wrap_content"
android:layout_centerInParent="true"
app:srcCompat="@drawable/ic_star_black_24dp"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
app:srcCompat="@drawable/ic_star_black_24dp"
/>
</RelativeLayout>
</LinearLayout>
的宽度。我不想让图像缩放。
我是如何做到这一点的?
(我希望图像重叠的原因是因为它是转换过程中预期编排的一部分。它们的最终位置将是非重叠的。)
答案 0 :(得分:0)
我自己找到了解决方案。我找到android:scaleType
,它控制图像相对于尺寸的缩放方式。但是,在我将android:scaleType
更改为app:srcCompat
之前,使用android:src
完全没有任何效果。我不知道为什么会这样,但以下工作正如预期的那样:
<LinearLayout
android:orientation="horizontal"
android:layout_width="128dp"
android:layout_height="64dp"
>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/ic_star_black_24dp" <--- !!
android:scaleType="center" <--- !!
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/ic_star_black_24dp" <--- !!
android:scaleType="center" <--- !!
/>
</RelativeLayout>
</LinearLayout>