Android Seekbar 作为对话框

标签 android dialog android-seekbar

我正在创建按钮来改变音量,我想要那个 onClick , 一个 seekbar显示为一种 dialog (但不是覆盖屏幕并且不允许与屏幕上的其他元素交互的那个)按钮下方,它应该在几秒钟后消失。我不想使用 alertDialog android 提供的内容涵盖了整个 Activity 。我该怎么做?还有什么图书馆可以实现这一目标吗?

最佳答案

将 seekBar 放在 xml 布局中的按钮下方,alpha="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);
            }
        }
    });

关于Android Seekbar 作为对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36301202/

相关文章:

android - 如何在 android 中的 glSurfaceView 之上构建 GUI/HUD

Android - 更改自定义对话框标题背景

java - 在 Android 上加载数据时显示旋转轮对话框

jquery UI 对话框默认第一个按钮样式

java - Android onClick 不起作用

Android Spinner 上的 Java NullPointerException

java - 从文件加载公钥数据

java - 设置宽度SeekBar Android

android - 显示搜索栏的先前值

android mediaSession getPosition() 总是返回 0