将xml扩展到LinearLayout之后,图像按钮src图像消失了

时间:2019-07-16 21:25:42

标签: java android android-layout view android-imagebutton

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

<merge>
    <LinearLayout (horizontal)>
        <ImageButton/>
        <ImageButton/>
        <ImageButton/>
    <LinearLayout/>

    <TextView/>
<merge/> 

当我将XML扩展为自定义垂直线性布局时,一切都按预期进行。每个项目的大小都是正确的,并且textView可以正常显示。

但是ImageButtons现在是完全透明的,尽管我在模拟器中运行应用程序时指定了源,但ImageButtons中却没有图像。在XML编辑器的“设计”视图中,我的ImageButton具有其源图像并且看起来不错。这是我在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);

我想念什么?

3 个答案:

答案 0 :(得分:0)

我认为tint的颜色与此处的src可绘制对象混淆了。我建议删除tint颜色,然后检查图像是否正在显示。

如果这样不起作用,请尝试删除app:srcCompat并仅对tools:srcCompat使用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="@android:color/white"
    tools:srcCompat="@drawable/ic_launcher_background" />

答案 1 :(得分:0)

您正在通过app:srcCompact.s使用可绘制矢量,因此您需要将此行添加到build.gradle文件中。

defaultConfig {
    ...

    vectorDrawables.useSupportLibrary = true // This line here
}

第二个选项是使用android:src引用矢量可绘制对象。

答案 2 :(得分:0)

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" />


  [1]: https://i.stack.imgur.com/0w8aj.png