I am trying to revive and revise a 10+ years old app (Android 2.2, 4.1) that was displaying and functioning fine back then but now, when installed on an Android 8.1 device, it exhibits the following odd visual issue:
On API 8/16 it displays R.drawable icons/buttons as intended:
But on API 26/29 it displays the same this way (unintended):
The main.xml section responsible for displaying this is:
<!-- horizontal row of 3 buttons (prev, pause/play, next) -->
<LinearLayout
android:id="@+id/prev_pauseplay_next_buttons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<com.susu.mylib.core.MyButton
android:id="@+id/btn_prev"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/ic_media_previous"
/>
<LinearLayout
android:id="@+id/ll_pause_or_play_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<com.susu.mylib.core.MyButton
android:id="@+id/btn_pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/ic_media_pause"
android:layout_marginLeft="36dp"
android:layout_marginRight="36dp"
/>
<com.susu.mylib.core.MyButton
android:id="@+id/btn_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/ic_media_play"
android:layout_marginLeft="36dp"
android:layout_marginRight="36dp"
android:visibility="gone" />
</LinearLayout> <!-- end ll_pause_or_play_button -->
<com.susu.mylib.core.MyButton
android:id="@+id/btn_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/ic_media_next"
/>
</LinearLayout> <!-- end prev_pauseplay_next_buttons -->
Any idea why is this happening and how to fix this?
Also, which Android SDK library or jar contains these images?


use
instead of background
or wrap your old drawables into:
res/drawable/wrapped_ic_media_pause.xml
and then in your xml use
@drawable/wrapped_ic_media_pauseinstead of@android:drawable/ic_media_pausespecify height and width if needed (otherwise icon might be tiny)