猿问

将 xml 膨胀到 LinearLayout 后图像按钮 src 图像消失了

我有一个大致如下布局的 XML:


<merge>

    <LinearLayout (horizontal)>

        <ImageButton/>

        <ImageButton/>

        <ImageButton/>

    <LinearLayout/>


    <TextView/>

<merge/> 

当我将 XML 扩展到自定义垂直线性布局时,一切都按预期进行。每个项目的大小都是正确的,textView 显示得很好。


但是 ImageButtons 现在是完全透明的,并且没有图像,尽管我在模拟器中运行我的应用程序时指定了源。在 XML 编辑器的设计视图中,我的 ImageButtons 有它们的源图像并且看起来很好。以下是我在 XML 中大致看到的每个 ImageButton 的样子:


<ImageButton android:id="@+id/endBtn"

    android:layout_width="36dp"

    android:layout_height="36dp"

    android:layout_weight="1"

    android:background="?android:selectableItemBackground"

    android:elevation="12dp"

    android:tint="@color/white"

    app:srcCompat="@drawable/ic_close_black_24dp"

    tools:srcCompat="@drawable/ic_close_black_24dp" />

我在我的自定义视图类中使用以下代码膨胀视图LinearLayout:


LayoutInflater.from(context).inflate(R.layout.game_controls_view, this, true);

我错过了什么?


吃鸡游戏
浏览 105回答 3
3回答

扬帆大鱼

我认为tint颜色与这里的可绘制对象混淆src。我建议删除tint颜色并检查图像是否正在显示。如果这不起作用,请尝试删除app:srcCompat并tools:srcCompat仅用于ImageButton以下内容。<ImageButton &nbsp;&nbsp;&nbsp;&nbsp;android:id="@+id/endBtn" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="36dp" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="36dp" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_weight="1" &nbsp;&nbsp;&nbsp;&nbsp;android:background="?android:selectableItemBackground" &nbsp;&nbsp;&nbsp;&nbsp;android:elevation="12dp" &nbsp;&nbsp;&nbsp;&nbsp;android:tint="@android:color/white" &nbsp;&nbsp;&nbsp;&nbsp;tools:srcCompat="@drawable/ic_launcher_background"&nbsp;/>

白猪掌柜的

您正在使用 app:srcCompact. 来使用矢量可绘制对象,因此您需要将此行添加到您的 build.gradle 文件中。defaultConfig {&nbsp; &nbsp; ...&nbsp; &nbsp; vectorDrawables.useSupportLibrary = true // This line here}第二种选择是使用 android:src 来引用矢量可绘制对象。

湖上湖

Use this<ImageButton android:id="@+id/endBtn"        android:layout_width="36dp"        android:layout_height="36dp"        android:layout_weight="1"        android:background="?android:selectableItemBackground"        android:elevation="12dp"        app:srcCompat="@drawable/ic_launcher_background"        tools:srcCompat="@drawable/ic_launcher_background"        tools:ignore="VectorDrawableCompat" />
随时随地看视频慕课网APP

相关分类

Java
我要回答