'android studio - button not showing in frame layout

I am working in a drawing app and I want to put a feature that will let a user choose between using a pen or using an eraser. I intend to put 2 buttons at the same position to achieve it but when I used frame layout as suggested by my research, neither of my buttons are showing.

Here's my xml file:

           <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:layout_weight="1"
            android:background="@color/white"
            android:gravity="end">

            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:visibility="visible">

                <ImageButton
                    android:id="@+id/btnEraser"
                    android:layout_width="0dp"
                    android:layout_height="70dp"
                    android:layout_weight="1"
                    android:background="@color/white"
                    android:scaleType="center"
                    android:src="@drawable/ic_eraser"
                    tools:visibility="visible">

                </ImageButton>

                <ImageButton
                    android:id="@+id/btnPen"
                    android:layout_width="0dp"
                    android:layout_height="70dp"
                    android:layout_weight="1"
                    android:background="@color/white"
                    android:scaleType="center"
                    android:src="@drawable/ic_eraser"
                    tools:visibility="visible">

                </ImageButton>
            </FrameLayout>

            <ImageButton
                android:id="@+id/btnColor"
                android:layout_width="0dp"
                android:layout_height="70dp"
                android:layout_weight="1"
                android:background="@color/white"
                android:scaleType="center"
                android:src="@drawable/ic_color">

            </ImageButton>

            <ImageButton
                android:id="@+id/btnSave"
                android:layout_width="0dp"
                android:layout_height="70dp"
                android:layout_weight="1"
                android:background="@color/white"
                android:scaleType="center"
                android:src="@drawable/ic_save">

            </ImageButton>
        </LinearLayout>

Picture:

enter image description here

Can anyone help me and explain to me why does it work like that? Any answer or criticisms is accepted is appreciated, Thank you!



Solution 1:[1]

Try this

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="4dp"
    android:weightSum="3"
    android:orientation="horizontal"
    android:background="@color/white"
    android:gravity="end">

    <FrameLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:visibility="visible">

        <ImageButton
            android:id="@+id/btnEraser"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="70dp"
            android:background="@color/white"
            android:scaleType="fitCenter"
            android:src="@mipmap/ic_launcher"
            tools:visibility="visible">

        </ImageButton>

        <ImageButton
            android:id="@+id/btnPen"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="70dp"
            android:background="@color/white"
            android:scaleType="fitCenter"
            android:src="@mipmap/ic_launcher"
            tools:visibility="visible">

        </ImageButton>
    </FrameLayout>

    <ImageButton
        android:id="@+id/btnColor"
        android:layout_width="0dp"
        android:layout_height="70dp"
        android:layout_weight="1"
        android:background="@color/white"
        android:scaleType="center"
        android:src="@mipmap/ic_launcher">

    </ImageButton>

    <ImageButton
        android:id="@+id/btnSave"
        android:layout_width="0dp"
        android:layout_height="70dp"
        android:layout_weight="1"
        android:background="@color/white"
        android:scaleType="center"
        android:src="@mipmap/ic_launcher">

    </ImageButton>
</LinearLayout>

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Peer Mohamed