2016-03-30 18 views
2

をスライドさせるとき、私はSlidingUpPanelLayoutを使用していますし、(slideOffsetが0.0から1.0の間にあるフロート)までスライドするときSlidingUpPanelLayout私はこのコードで#4096c3に白からレイアウトの色を変更したい:滑らかな色の変化

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) { 

    } 
}; 

は何ですか私が突然滑っているときに白から#4096c3に変わるので、このコードは間違っていますか?

答えて

0

あなたLinearLayout(Header)参照: -

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

あなたSlidingUpPanelLayout参照: -

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

あなたのリスナー: -

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. 

    });