似乎相同的XML布局代码在InfoWindow和“正常”活动/片段中的工作方式不同。
我正在自定义我的Google Maps InfoWindow。我已经对其应用了圆角(我使用getInfoWindow()
),现在我想使ImageView也具有圆角。当InfoWindow打开时,它显示如下
在我看来,这很奇怪,因此我将CardView和ImageView代码(如下所述)粘贴到了活动中。这就是它的样子(不看内容,它是在运行时加载的)
我的代码
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:background="@drawable/rounded_corners_bg">
<androidx.cardview.widget.CardView
android:id="@+id/container"
android:layout_width="240dp"
android:layout_height="160dp"
android:elevation="0dp"
android:background="@android:color/black"
app:cardCornerRadius="32dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:cardElevation="0dp"
app:contentPadding="0dp">
<ImageView
android:id="@+id/imageInfoWindow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
app:srcCompat="@drawable/opactwo_2" />
</androidx.cardview.widget.CardView>
<TextView <!-- Doesn't matter -->
<TextView <!-- Doesn't matter -->
<TextView <!-- Doesn't matter -->
</androidx.constraintlayout.widget.ConstraintLayout>
我发现相同的代码会产生不同的结果。我的问题是为什么它不起作用,我应该怎么做才能使其起作用?我既不应用任何主题,也不在运行时修改视图。
答案 0 :(得分:0)
所以,我用 https://github.com/rishabh876/RoundedImageView 这个代替 imageView 并使用 Glide 来下载图片
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
if (!isFromMemoryCache) {
marker.showInfoWindow();
}
return false;
}
})
.into(viewHolder.imageView);