2012年6月4日 星期一

自訂scrollableview的pagecontrol 顏色

Tintaium scrollablevie有提供pageontrolColor屬性
不過這屬性設定的是pageControl的背景顏色
前景(dot)顏色不能自訂

查了一下,剛好有人針對這點做出一個自訂模組
原始版本
https://gist.github.com/2417902
加強:加入scrollableView.addEventListener("postlayout", onPostLayout);
https://gist.github.com/2729533


用法
if(sView && sView.views && sView.views.length > 0) {
require('PageControl');
var sViewPagingControl = new PagingControl(sView);
sView.add(sViewPagingControl);
window.add(sView);
}


不過這個模組有幾個缺點
  1. pageControl的顏色其實無法自訂,要自己修改
  2. paeControl的位置會固定在左邊中間,這也要自己修改
簡單改法
var container = Titanium.UI.createView({
                bottom:0, //置底
                left: 0,
                width: scrollableView.width,
                height: 20
        });

        for (var i = 0; i < numberOfPages; i++) {
                page = Titanium.UI.createView({
                        borderRadius: 4,
                        width: 8,
                        height: 8,
//讓pageControl保持在view中間
                        left: (scrollableView.width- (15*numberOfPages))/2+15 * i,
                        backgroundColor: pageColor,
                        opacity: 0.5
                });

沒有留言: