在我的应用程序中,TextView
上方显示了ImageView
,其中包含SVG图像。根据屏幕分辨率,缩放ImageView
,该ImageView
受另一个TextView
约束(顶部和底部例如):因此,通过减小其高度也可以缩放其SVG (和宽度,按比例)。因此,ImageView
和ImageView
之间的空间在技术上与Android Studio中的空间相同,但在视觉上更长。
我想要的是:在Android Studio中保持与所有屏幕分辨率相同的空间,即 :8dp。
示例:
在Android Studio的可视化器中,空间为8dp:
在三星Galaxy S7中,我认为该空间仍为8dp,但SVG已缩放:该空间似乎更长。
证明SVG已缩放,并且TextView
实际上距离scale: fitXY
为8dp:
无论屏幕分辨率如何,您知道如何保持与Android Studio相同的空间吗?
我真的希望缩放SVG(所以我不希望例如设置TextView
或类似的东西)。但是我还希望在所有屏幕分辨率上,{{1}}底部和缩放后的SVG顶部之间的间隔为8dp。
答案 0 :(得分:0)
这是一个猜测,但我认为您的图片引起了问题。
正如您所说-您的空间一直都是8dp,但是由于您的图像具有白色背景,因此当您使用较大的图像时,白色背景会缩放,并且看起来文本和图像之间的空间会更大。 / p>
您可以使用具有非白色背景的某些视图并将其缩放以进行测试-我相信您将看到相同的间距作为视图大小。如果是这种情况,请尝试更改您的图像。
答案 1 :(得分:0)
您可以使用带有约束的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%。我相信您可以将这种想法应用于您的情况