我有一个通过我的自定义 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();

这是我看到的:
android -  ImageView 未显示在警报对话框中-LMLPHP

我应该看到卫星 ImageView 左侧的图标 ImageView ,但我看到的是空白区域。

最佳答案

您应该使用 android:src="@mipmap/ic_satellite_black_24dp" 而不是 app:srcCompat="@mipmap/ic_satellite_black_24dp"
在两者之间,将您的图像放置到 drawable 文件夹,而不是 mipmap 文件夹。 Mipmap 文件夹用于放置您的应用程序/启动器 icons

要了解差异,请检查 mipmap vs drawable folders

关于android - ImageView 未显示在警报对话框中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43004521/

10-10 04:07