我有一个弹出窗口,该弹出窗口是通过自定义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”
在其间,将图像放置到可绘制文件夹,而不是mipmap文件夹. Mipmap文件夹用于放置应用程序/启动器图标.
要了解差异,请检查mipmap vs drawable folders.