我有一个通过我的自定义 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 ,但我看到的是空白区域。
最佳答案
您应该使用 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/