小编tim*_*ser的帖子

使用带字符串的NumberPicker Widget

有没有办法使用Android NumberPicker小部件来选择字符串而不是整数?

android

88
推荐指数
4
解决办法
5万
查看次数

ExoPlayer 2播放列表监听器

我正在使用ExoPlayer 2.x的新功能来播放这样的音频文件列表:

List<MediaSource> playlist = new ArrayList<>();

...

ConcatenatingMediaSource concatenatedSource = new ConcatenatingMediaSource(
            playlist.toArray(new MediaSource[playlist.size()]));

mExoPlayer.prepare(concatenatedSource);
mExoPlayer.setPlayWhenReady(true);
Run Code Online (Sandbox Code Playgroud)

这工作正常,但为了相应地更新我的UI,我需要知道当前正在播放哪首曲目以及该曲目的进度.ExoPlayer有没有听众?

谢谢!

android exoplayer

23
推荐指数
2
解决办法
8272
查看次数

如何从Dialog中删除边框?

我有一个活动,显示在对话框中:

为了删除边框和圆角,我试过这个:

<resources>
  <style name="ActivityDialog" parent="@android:style/Theme.Dialog">
  <item name="android:windowBackground">@null</item> 
    <item name="android:windowFrame">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)

边界消失了,但遗憾的是对话框周围的边缘.

android

22
推荐指数
2
解决办法
3万
查看次数

Exoplayer:如何通过耳机播放音频?

我正在使用以下代码在设备接近任何对象时将音频流切换到耳机:

@Override
public void onSensorChanged(SensorEvent event) {

    if (mAudioManager.isWiredHeadsetOn() || !(mCurrentPlaybackStatus == STATUS_PLAYING
            || mCurrentPlaybackStatus == STATUS_PREPARING)) {
        return;
    }

    boolean isClose = event.values[0] < mSensor.getMaximumRange();

    if (!mScreenDisabled && isClose) {

        mAudioManager.setMode(AudioManager.STREAM_MUSIC);
        mAudioManager.setSpeakerphoneOn(false);

        disableScreen();

        mScreenDisabled = true;

    } else if (mScreenDisabled && !isClose) {

        mAudioManager.setSpeakerphoneOn(true);
        mAudioManager.setMode(mAudioManagerMode);

        enableScreen();
        mScreenDisabled = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,呼叫时有一个很大的延迟.setMode(AudioManager.STREAM_MUSIC);(> 500ms)

使用Android的默认MediaPlayer,可以毫不延迟地更改输出流:

mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL); // ear piece
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); // speakerphone
Run Code Online (Sandbox Code Playgroud)

有没有办法改变ExoPlayer的输出流?

android android-mediaplayer exoplayer

8
推荐指数
1
解决办法
715
查看次数

Android中单点击和长点击的持续时间

我试图将叠加层拖动到地图上,如果用户点击针脚,也会显示信息框.要做到这一点,我需要测量的时间MotionEvent.ACTION_DOWNMotionEvent.ACTION_UP.为了让它感觉尽可能自然,我想知道Android用于Single-Tap(目前我使用的是180ms)以及Long-Tap的价值.

谢谢!

android android-mapview

7
推荐指数
1
解决办法
3484
查看次数

Drag and Drop + Fling Detector无法正常工作

我正在尝试实现一个可拖动的可拖动按钮.

不幸的是,系统在拖动开始后停止发送MotionEvents.因此,永远不会调用GestureDetector.OnGestureListener.onFling()方法.

有没有办法在拖拽系统消耗之前拦截这些事件?

我也尝试创建自己的FlingDetector,但它在不同的设备和屏幕密度上不可靠:

public class FlingDetector {

private final int MIN_FLING_SPEED = 3;

private OnFlingListener mOnFlingListener;

private float mCurrentX = 0;
private float mCurrentY = 0;
private long mLastMovementTime = 0;
private double  mCurrentVelocity = 0;

private final float mDensity;

public FlingDetector(OnFlingListener onFlingListener, Context context) {
    mOnFlingListener = onFlingListener;
    mDensity = context.getResources().getDisplayMetrics().density;
}


public void onMovementStart(float x, float y) {
    mCurrentX = x;
    mCurrentY = y;
    mLastMovementTime = System.currentTimeMillis();
    mCurrentVelocity = 0;
}

public void onMovementEnd(float x, float y) …
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop onfling

6
推荐指数
1
解决办法
565
查看次数

GridView或TableLayout?

http://img683.imageshack.us/img683/645/weatherscreenmockupoutl.png

我问自己什么是编码这种布局的最佳方法.基本上我只需要知道如何获得具有相等宽度的七列.

提前致谢!

android android-layout android-gridview android-tablelayout

5
推荐指数
1
解决办法
4413
查看次数

Android系统在启动Media Intent时停止应用程序

我正在发起媒体意图拍照.在用户拍照并返回上一个活动后,整个应用程序已重新启动.

由于这不会一直发生,我认为我的应用程序进入后台,当设备内存不足时,android会将其杀死.

有什么方法可以让我的应用程序无法进入后台吗?

谢谢!

android

4
推荐指数
1
解决办法
3246
查看次数