2014年6月29日 星期日

[G4P]CoolSliders


  • Detailed Description


是一種使用者可以自行規劃外型(skin)的Slider
Library 提供5種skin

  • grey_blue(default skin)
  • green_red20px
  • red_yellow18px
  • blue18px
  • purple18px 


skin 需要5個圖檔來描述slider的部分:
1、滑桿左邊(end_left.???)
2、滑桿右邊(end_right.???)
3、滑桿棍子(centre.???)
4、滑標(handle.???)
5、滑鼠碰到滑標後(handlemouseover.???)
(???:png,jpg,gif,tga)




  • Some Method


import g4p_controls.*;  
//import library

GCustomSlider sdr1;  
//宣告slider物件

sdr1 = new GCustomSlider(this,20,20,260,50,null);
//(this,x,y,width,height,移標種類,可以在G4p->src->data找到)

sdr1.setShowDecor(false,true,true,true);    
//setShowDecor(顯示背景?,顯示前後端線?,顯示目前數值?,顯示前後端數值?
(預設0~1));

sdr1.setNbrTicks(5);    
//將Slider分成個區段(5)

sdr1.setLimits(40, -100, 100);    
//設定預設位置數值與前後段值setLimit(目前指定值,後端值,前端值)

sdr1.setNumberFormat(G4P.DECIMAL,3);
//定義滑桿數值形態,取到小數點後(3)位

sdr1.setNumberFormat(G4P.EXPONENT,1);
//exponent形態,底數取到小數後1位

sdr1.setShowValue(false);
//設定是否顯示滑桿目前數值

sdr1.setEasing(25);
//滑桿拖曳滑行效果,數值越大越明顯

sdr1.setStickToTicks(true);
//設定滑桿強制停在離它最近的區段線上

sdr1.getValueI();
//取得滑桿值(整數形態)

sdr1.getValueF();
//取得滑桿值(浮點數形態)

sdr1.setShowTicks(true/false);
//顯示ticks

sdr1.Alpha(int alpha);
//設定透明度

sdr1.setRotation(float angle);
//旋轉滑軌

sdr1.setVisble()
//設定是否可見

sdr1.setOpaque()
//是否有背景

sdr1.isDragging()
//是否被拖曳

sdr1.setEnabled(true/false);
//設定致能/失能





  • 建立滑軌自定義字串下標籤

String[] tickLabels = new String[]{"A","B","C","D","E"};
//先建立下標字串陣列,看要放什麼字

sdr = new GCustomSlider(this,320,160,260,70,"green_red20px");
//實作Slider物件

sdr.setShowDecor(false,true,true,true);
//設定滑桿值狀態

sdr.setTickLabels(tickLabels);
//為滑桿附加上自定義標籤






  • Slider 操作事件
public void handleSliderEvents(GValueControl Slider , GEvent event)
{
    println(sdr.getValueS() + "   " + event);
    //印出目前值,與值是在改變中還是已經穩定了(有Easing 效果才有)
    // Value is changing  or  Value has reached a steady state
}



  • Library Download

  • Reference