在AlertDialog中,imageView无法显示

4

我有一个弹出框,我通过自定义XML来填充它。我想在图标旁边放一个开关。 自定义XML中包含以下代码:

<!-- alertdialog_menu.xml -->
<LinearLayout
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:weightSum="1"
    android:layout_marginStart="5dp"
    android:layout_marginLeft="5dp">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="0dp"
        android:layout_height="32dp"
        android:layout_weight="0.10"
        app:srcCompat="@mipmap/ic_satellite_black_24dp"
        android:scaleType="fitXY"/>

    <Switch
       android:id="@+id/satelliteSwitch"
       android:layout_width="0dp"
       android:layout_height="36dp"
       android:layout_weight="0.90"
       android:text="Satellite"
       android:textSize="22sp"/>

以下是我用来显示弹出窗口的Java代码。
LayoutInflater li = LayoutInflater.from(this);
View promptsView = li.inflate(R.layout.alertdialog_menu, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setView(promptsView);
alertDialogBuilder.create().show();

这是我看到的: 在这里输入图片描述 我应该在卫星imageview左侧看到imageView图标,但我看到了空白的白色空间。

也许给它添加一些颜色? - John Joe
不起作用 :( - Parth Bhoiwala
1个回答

4

你应该使用android:src="@mipmap/ic_satellite_black_24dp"代替app:srcCompat="@mipmap/ic_satellite_black_24dp"

另外,将您的图像放置在drawable文件夹中,而不是mipmap文件夹中。mipmap文件夹用于放置您的应用/启动器图标

了解区别,请参阅mipmap vs drawable folders


1
明白了,完美地运作。谢谢!我把它放在了drawable里面。 - Parth Bhoiwala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接