【问题标题】:Black background behind image in ImageViewImageView 中图像背后的黑色背景
【发布时间】:2022-05-02 14:43:13
【问题描述】:

看起来很傻,但我尝试过使用 ImageButton,图像视图,但圆形图像后面的黑色方块没有显示。我正在使用 png 图片并想要透明背景。

我已经附加了预期的输出,android 和真实设备中的布局视图,但看起来非常不同,似乎没有任何工作

预期结果

实际结果

可绘制资源图片

编辑的代码 XML 布局。重置其他视图就可以了

布局图像

<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".view.fragments.DashboardFragment">

    <ImageView
        android:id="@+id/iv_dashboard"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:scaleType="fitXY"
        android:src="@drawable/bg_dashboard"
        app:layout_constraintBottom_toTopOf="@+id/guide_horizontal_30"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
<!-- background image resource -->


    <TextView
        android:id="@+id/txtFromDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/from_date"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/iv_dashboard" />

    <TextView
        android:id="@+id/tvFromDate"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginRight="@dimen/margin_10dp"
        android:text="Date"
        android:drawableBottom="@drawable/dashboard_bottom_blue"
        app:layout_constraintEnd_toStartOf="@+id/guide_vertical_40"
        app:layout_constraintStart_toStartOf="@+id/txtFromDate"
        app:layout_constraintTop_toBottomOf="@+id/txtFromDate" />

    <TextView
        android:id="@+id/txtToDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/margin_5dp"
        android:text="@string/to_date"
        app:layout_constraintBaseline_toBaselineOf="@+id/txtFromDate"
        app:layout_constraintStart_toEndOf="@+id/guide_vertical_40" />

    <TextView
        android:id="@+id/tvToDate"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Date"
        android:paddingTop="@dimen/margin_2dp"
        android:paddingBottom="@dimen/margin_2dp"
        app:layout_constraintBaseline_toBaselineOf="@+id/tvFromDate"
        app:layout_constraintEnd_toStartOf="@+id/guide_vertical_80"
        app:layout_constraintStart_toStartOf="@+id/txtToDate" />

<!-- problematic image view-->
    <androidx.appcompat.widget.AppCompatImageView
        android:id="@+id/btnGo"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:src="@drawable/btn_search"
        app:layout_constraintDimensionRatio="1:1"
        app:layout_constraintBottom_toBottomOf="@+id/tvToDate"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/guide_vertical_80"
        app:layout_constraintTop_toTopOf="@+id/txtToDate" />
</androidx.constraintlayout.widget.ConstraintLayout>

【问题讨论】:

  • 父视图的背景是什么,有你的ImageView?你能发布完整/相关的布局吗?
  • 检查已编辑的问题
  • 我不明白您发布的图片是屏幕截图之类的,搜索图标后面没有黑色背景。
  • 图片来自xml布局。是的,我知道图像后面没有黑色背景仍然显示这就是我感到困惑的原因
  • 好的,你的意思是说它在布局预览中不显示黑色背景,但在设备中显示?你也尝试过简单的 ImageView 吗?设备是否有暗模式?

标签: android android-imageview android-resources


【解决方案1】:

如果您不想使用黑色背景,只需从布局中删除背景即可。

 <android.support.v7.widget.AppCompatImageView
    android:id="@+id/btn_key"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/black"
    android:src="@drawable/img_key"
    />

【讨论】:

  • 布局没有变化。还是有黑色背景
  • 检查@drawable/bg_dashboard,你是否使用黑色背景
  • 不,这是一张图片,不是黑色的,我已经用黑色重叠了
  • 在约束布局中给一个白色背景,结果如何?
【解决方案2】:

我的图片也遇到了同样的问题,我刚刚所做的就是更改 imageView 的背景并使其透明。

<ImageView
        android:id="@+id/iv_dashboard"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:scaleType="fitXY"
        android:background="@android:color/transparent"
        android:src="@drawable/bg_dashboard"
        app:layout_constraintBottom_toTopOf="@+id/guide_horizontal_30"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多