Я кнопку создания, чтобы изменить громкость и я хочу, чтобы onClick
, seekbar
предстает как своего рода dialog
(, но не тот, который покрывает экран и не позволяет взаимодействие с другими элементами на экран) под кнопкой, и он должен исчезнуть через несколько секунд. Я не хочу использовать alertDialog
, который поддерживает android, как это охватывает всю деятельность. Как я могу это сделать? Также есть ли какая-нибудь библиотека для этого?Android SeekBar какдиалоговое
1
A
ответ
1
Поместите свой SeekBar ниже вашей кнопки в вашем XML-схемы с альфа = "0", и попробуйте:
SeekBar mSeekbar;
int delay = 1000;
Button mButton;
Handler mHandler;
Runnable mRunnable = new Runnable() {
@Override
public void run() {
Animation anim = new AlphaAnimation(1, 0);
anim.setDuration(500);
mSeekbar.startAnimation(anim);
}
};
//inside onCreate (or wherever you decide)
mHandler = new Handler(); //(android.os)
mButton = (Button) findViewById(R.id.button1);
mSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
mHandler.removeCallbacks(mRunnable);
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
mHandler.postDelayed(mRunnable, delay);
}
});
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mSeekbar.getAlpha() == 0) {
Animation anim = new AlphaAnimation(0, 1);
anim.setDuration(500);
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
mHandler.postDelayed(mRunnable, delay);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
mSeekbar.startAnimation(anim);
}
}
});
1
Вы можете использовать WindowManager
, чтобы добавить SeekBar
к окну и в то же время вы можете взаимодействовать с вашей деятельностью или другим. Отправьте один обработчик для удаления этого представления по истечении указанного времени.
View yourSeekBarView = inflator.inflate(R.layout.your_layout_xml,null,false);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
150,
50,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
0 | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.CENTER_HORIZONTAL |Gravity.TOP;
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(oView, params);
wm.removeView(yourSeekBarView);
Смежные вопросы
- 1. Android Seekbar
- 2. Android SeekBar setOnSeekBarChangeListener
- 3. Android SeekBar Touch Sensitivity
- 4. SeekBar выпуск Android
- 5. Android - Seekbar с текстом
- 6. Smoother Android SeekBar
- 7. Android SeekBar странное поведение
- 8. Пользовательские SeekBar в Android
- 9. Android SeekBar: Изменение значения
- 10. Android Удалить SeekBar Background
- 11. Android SeekBar вызывает
- 12. SeekBar Android crash Java
- 13. Пользовательские SeekBar Drawable Android
- 14. Настроить SeekBar на Android
- 15. SeekBar positioning android
- 16. Android SeekBar с разделителями
- 17. Android custom seekbar
- 18. Android SeekBar thumb Настройка
- 19. Android: Change SeekBar Behavior
- 20. Stackoverflow MediaPlayer Android Seekbar
- 21. Android Music Seekbar match_parent
- 22. Android Studio SeekBar Error
- 23. Android SeekBar с маркерами
- 24. Android Range SeekBar
- 25. Android Two Thumbs Seekbar
- 26. Android SeekBar Math
- 27. Ошибка SeekBar Android
- 28. SeekBar in android
- 29. Android создать SeekBar
- 30. Android SeekBar округлый угол
Пожалуйста, вы можете отправить скриншот как seelbar смотрит и как вы хотите его –