我有一个视频录制应用程序,其中我覆盖了“开始录制”/“停止录制”按钮,如下所示:
我使用以下drawables创建这些:
界:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="3dp"
android:color="@android:color/white"/>
<solid android:color="@android:color/transparent" />
<padding android:bottom="10dp"
android:top="10dp"
android:right="10dp"
android:left="10dp" />
</shape>
</item>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@color/recordingRed"/>
<size
android:width="40dp"
android:height="40dp" />
</shape>
</item>
</layer-list>
广场:
<padding android:bottom="10dp"
android:top="10dp"
android:right="10dp"
android:left="10dp" />
</shape>
</item>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="@color/recordingRed"/>
<size
android:width="20dp"
android:height="20dp" />
<corners android:topLeftRadius="3dp" android:topRightRadius="3dp"
android:bottomLeftRadius="3dp" android:bottomRightRadius="3dp"/>
</shape>
</item>
这适用于例如Nexus 6P或Nexus 5.但是使用小米Redmi 3,这两个图标在第一次显示时显示正常,但是当来回切换时,它们会显示像这样:
然后我发现我需要完全关闭应用程序并再次启动它们才能正常显示。他们第一次出现时看起来很好看。怎么会发生这种情况?
这就是我改变图像的方式:
mRecordButton.setImageResource(R.drawable.stop_recording_border);
或者:
mRecordButton.setImageResource(R.drawable.start_recording_border);