在android mediacontroller中更改文本的颜色

Wil*_*ill 4 android mediacontroller android-mediaplayer

嗨有一种方法可以改变mediacontroller中文本的颜色,显示音频文件的总时间和剩余时间.在Android 2.3上,时间清晰可见但是当我的应用程序在Android 4.0或4.1上运行时,显示进度条任一侧的时间的文本太暗.目前我正在扩展mediacontroller类来创建我自己的媒体控制器,它不会消失,是否有什么我可以添加到这个类?任何帮助将非常感激.

public class WillMediaController extends MediaController {

    public WillMediaController(Context context) {
        super(context);
    }

    @Override
    public void hide() {
        // Do Nothing to show the controller all times

    }

    @Override
    public boolean dispatchKeyEvent(KeyEvent event)
    {
        if (event.getKeyCode() == KeyEvent.KEYCODE_BACK)
        {
            ((Activity) getContext()).finish();

        }else{
            super.dispatchKeyEvent(event);
        }
        if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN ||
                event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) {
            // don't show the controls for volume adjustment
            return super.dispatchKeyEvent(event);
        }
        return true;


    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

小智 13

我有同样的问题.一个好的方法是使用主题更改颜色.使用ContextThemeWrapper将主题应用于MediaController,例如:

private final class AudioMediaController extends MediaController {

    private AudioMediaController(Context context) {
        super(new ContextThemeWrapper(context, R.style.Theme_MusicPlayer));
    }
}
Run Code Online (Sandbox Code Playgroud)

您的主题可能如下所示:

<resources>
    <style name="Theme_MusicPlayer">
        <item name="android:textColor">#FFFFFF</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

将其作为XML文件保存到res/values文件夹中.媒体控制器中每个文本的颜色(当前时间和结束时间)现在为白色.

  • 这个答案比接受的答案更好! (4认同)