2016-03-30 19 views
1

Ben ses düzeyini değiştirmek için düğmeye kuruyorum ve ben onClick, bir seekbardialog bir çeşit (ancak ekranı kaplayan ve diğer unsurlarla etkileşim izin vermiyor değil biri olarak göründüğünü istediğiniz kadar ekran) düğmesinin altında ve birkaç saniye sonra kaybolacaktır. android tüm aktiviteyi kapsadığı gibi sağlamak için alertDialog kullanmak istemiyorum. Nasıl bu konuda giderim? Bunu başarmak için herhangi bir kütüphane var mı?Android Seekbar Diyaloğu

+0

Sen seelbar görünümlü ve nasıl nasıl ekran görüntüsü gönderin Can –

cevap

1

= "0" alfa ile xml düzende düğmesinin aşağıya seekbar koyun ve deneyin:

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); 
      } 
     } 
    }); 
+0

'un aranmasını istiyorsanız, arama çubuğu görünmüyor, animasyonun beklendiği gibi çalıştığından emin misiniz? – zek54

+0

, 'gitti' görünürlüğünü ayarlamadığınızı ve animasyonun süresini ayarladığınızı doğrular – nbaroz

1

penceresine SeekBar eklemek için WindowManager numaralı telefonu kullanabilir ve aynı zamanda sizin aktivitenizle veya başkalarıyla etkileşime girebilirsiniz. Belirtilen süreden sonra bu görünümü kaldırmak için bir işleyici gönderin.

 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); 
İlgili konular