ImageView上方的TextView:缩放后的​​SVG顶部和TextView底部之间的空间已缩放

时间:2019-04-07 11:11:56

标签: android imageview android-constraintlayout

在我的应用程序中,TextView上方显示了ImageView,其中包含SVG图像。根据屏幕分辨率,缩放ImageView,该ImageView受另一个TextView约束(顶部和底部例如):因此,通过减小其高度也可以缩放其SVG (和宽度,按比例)。因此,ImageViewImageView之间的空间在技术上与Android Studio中的空间相同,但在视觉上更长。

我想要的是:在Android Studio中保持与所有屏幕分辨率相同的空间,即 :8dp。

示例:

在Android Studio的可视化器中,空间为8dp:

enter image description here

在三星Galaxy S7中,我认为该空间仍为8dp,但SVG已缩放:该空间似乎更长。

enter image description here

证明SVG已缩放,并且TextView实际上距离scale: fitXY为8dp:

enter image description here

无论屏幕分辨率如何,您知道如何保持与Android Studio相同的空间吗?

警告

我真的希望缩放SVG(所以我不希望例如设置TextView或类似的东西)。但是我还希望在所有屏幕分辨率上,{{1}}底部和缩放后的SVG顶部之间的间隔为8dp。

2 个答案:

答案 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%。我相信您可以将这种想法应用于您的情况