2016-03-30 15 views
2

sürgülü zaman SlidingUpPanelLayout kullanıyorum ve (slideOffset 0.0-1.0 arasındadır yüzer) yukarı kaydırırken SlidingUpPanelLayout Bu kod ile #4096c3 beyazdan düzen rengini değiştirmek istiyorum:Pürüzsüz renk değiştirme

SlidingUpPanelLayout.PanelSlideListener onslide = new SlidingUpPanelLayout.PanelSlideListener() { 
    @Override 
    public void onPanelSlide(View panel, float slideOffset) { 
     backcolor = android.graphics.Color.argb(Math.round(255 * slideOffset), 64, 150, 195); 
     panel_layout.setBackgroundColor(backcolor); 
    } 

    @Override 
    public void onPanelStateChanged(View panel, SlidingUpPanelLayout.PanelState previousState, SlidingUpPanelLayout.PanelState newState) { 

    } 
}; 

nedir Bu kodda yanlış aniden kaydığı zaman beyazdan #4096c3'a değişir?

cevap

0

sizin LinearLayout(Header) referans: -

LinearLayout mTitleLinearLayout= (LinearLayout) findViewById(R.id.llyout_header); 

sizin SlidingUpPanelLayout referans: -

SlidingUpPanelLayout mLayout = (SlidingUpPanelLayout) findViewById(R.id.sliding_layout); 

dinleyici: -

mLayout.addPanelSlideListener(new SlidingUpPanelLayout.PanelSlideListener() { 

     @Override 
     public void onPanelSlide(View panel, float slideOffset) { 

      Log.i(TAG, "onPanelSlide, offset " + slideOffset); 

      //Here is the code which change titleBar color gradually 
      mTitleLinearLayout.setBackgroundColor((int) new ArgbEvaluator().evaluate(slideOffset, Color.parseColor("#03A9F4"), Color.parseColor("#F44336"))); 


     } 

     @Override 
     public void onPanelStateChanged(View panel, PanelState previousState, PanelState newState) { 



     } 

     // During the transition of expand and collapse onPanelSlide function will be called. 

    }); 
İlgili konular