void CAActivityIndicatorView::setStyle(CAActivityIndicatorViewStyle style) { m_style = style; if (m_style != CAActivityIndicatorViewStyleImage) { this->removeSubview(m_pImageView); CC_SAFE_RELEASE(m_pImageView); this->removeSubview(m_pBackView); CC_SAFE_RELEASE(m_pBackView); DRect center = getBounds(); center.origin = center.size/2; CAImage* image = NULL; switch (m_style) { case CAActivityIndicatorViewStyleGray: { image = CAImage::create("source_material/loading_black.png"); center.size = DSize(40, 40); } break; case CAActivityIndicatorViewStyleWhite: { image = CAImage::create("source_material/loading_write.png"); center.size = DSize(40, 40); } break; case CAActivityIndicatorViewStyleGrayLarge: { image = CAImage::create("source_material/loading_black.png"); center.size = DSize(68, 68); } break; case CAActivityIndicatorViewStyleWhiteLarge: { image = CAImage::create("source_material/loading_write.png"); center.size = DSize(68, 68); } break; default: break; } setTimesOneCycle(m_nTimesOneCycle); CAImageView* imageView = CAImageView::createWithCenter(center); imageView->retain(); imageView->setImage(image); this->insertSubview(imageView, 1); m_pImageView = imageView; } }