在我的应用程序中,TextView显示在包含SVG映像的ImageView上面。取决于屏幕分辨率,ImageView受到约束(例如,顶部和底部)通过另一个ImageView进行缩放:因此,它的SVG也是通过减小其高度(和宽度,比例)来缩放的。因此,TextView和ImageView之间的空间在技术上与Android相同,但在视觉上却更长。
我想要的是:在Android中保留与所有屏幕分辨率相同的空间,即: 8dp。
示例:
在Android的可视化程序中,空间为8dp:

在三星的Galaxy S7中,我认为空间仍然是8dp,但是SVG已经被缩放了:空间似乎更长了。

证明SVG已被缩放,并且ImageView确实在TextView的8dp上。

您知道如何保持与Android相同的空间,无论屏幕分辨率如何?
警告
我真的希望SVG被缩放(所以我不想,例如设置scale: fitXY或类似的东西)。但我也希望在所有屏幕分辨率上,在TextView底部和缩放的SVG 8dp之间留出空间。
发布于 2019-04-07 11:31:24
这是猜测,但我认为你的形象是造成问题的原因。
正如您所说-您的空间一直是相同的8dp,但因为您的图像有一个白色的背景,当您使用一个较大的图像,白色背景尺度,它看起来像你的文字和图像之间的空间更大。
您可以使用一些非白色背景的视图,并对其进行测试--我相信您将看到与视图大小相同的间距。如果是这样的话,也许试着改变你的形象。
发布于 2019-04-07 11:41:58
您可以使用带有约束的LinearLayout布局来确保固定的比例,例如:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/main_layout"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="40"
/>
<TextView
android:id="@+id/txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="60"
/>
</LinearLayout>所以无论如何,在我们的例子中,图像总是水平空间的40%,而文本是60%。我相信你可以把这个想法运用到你的处境中。
https://stackoverflow.com/questions/55558355
复制相似问题