动态添加到 LinearLayout 时不显示 ImageView
ImageView isn't shown when added to LinearLayout dynamically
我正在使用支持库 compile 'com.android.support:support-v4:25.1.1'
当我尝试将视图动态添加到其他布局时,图像丢失了。
app:srcCompat="@drawable/ic_remove_task"
当我在图像视图中使用它时图像没有显示。
当我这样写的时候工作 android:src="@drawable/ic_remove_task"
有什么问题吗?
这是 ImageView
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/ic_remove_task"
android:id="@+id/remove_sub_task_icon" />
代码在这里,来自上一个问题:
从 Android 支持库 23.3.0 开始,支持矢量绘图 只能通过 app:srcCompat
加载
您需要将 vectorDrawables.useSupportLibrary = true 添加到您的 build.gradle 文件
// Gradle Plugin 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
并确保应用使用正确的命名空间,如下所示:
xmlns:app="http://schemas.android.com/apk/res-auto"
我已经自己解决了。问题在于膨胀视图。
您必须像这样初始化充气机:
LayoutInflater layoutInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
而不是这个:
LayoutInflater layoutInflater = (LayoutInflater) activity.getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
我正在使用支持库 compile 'com.android.support:support-v4:25.1.1'
当我尝试将视图动态添加到其他布局时,图像丢失了。
app:srcCompat="@drawable/ic_remove_task"
当我在图像视图中使用它时图像没有显示。
当我这样写的时候工作 android:src="@drawable/ic_remove_task"
有什么问题吗?
这是 ImageView
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/ic_remove_task"
android:id="@+id/remove_sub_task_icon" />
代码在这里,来自上一个问题:
从 Android 支持库 23.3.0 开始,支持矢量绘图 只能通过 app:srcCompat
加载您需要将 vectorDrawables.useSupportLibrary = true 添加到您的 build.gradle 文件
// Gradle Plugin 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
并确保应用使用正确的命名空间,如下所示:
xmlns:app="http://schemas.android.com/apk/res-auto"
我已经自己解决了。问题在于膨胀视图。 您必须像这样初始化充气机:
LayoutInflater layoutInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
而不是这个:
LayoutInflater layoutInflater = (LayoutInflater) activity.getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);