Похоже, что родительский объект - это LinearLayout с некоторой «весовой суммой», поэтому ширина ImageButton является неопределенной.
Вы можете создать каркас, который будет содержать эту кнопку изображения и другую компоновку (с той же шириной и высотой, что и кнопка изображения), лежащую в основе кнопки изображения. Примерно так:
<FrameLayout
android:layout_width="0dp"
android:layout_weight="0.25"
android:layout_height="wrap_content">
<View
android:layout_width="match_parent"
android:background="@color/aub_red"
android:layout_height="match_parent"/>
<ImageButton
android:id="@+id/button_scan"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="4dp"
android:backgroundTintMode="screen" />
</FrameLayout>