#import"ViewController.h"
@interfaceViewController()
@property(nonatomic,retain)UIActivityIndicatorView*activity
@end
@implementationViewController
- (void)viewDidLoad {
[superviewDidLoad]
//创建小菊花
self.activity= [[UIActivityIndicatorViewalloc]initWithFrame:CGRectMake(150,100,50,50)]
//小菊花的风格
[self.activitysetActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray]
//小菊花的颜色
self.activity.color= [UIColor redColor]
//hidesWhenStopped
self.activity.hidesWhenStopped=NO
//将小菊花添加到主视图
[self.viewaddSubview:self.activity]
//用一个Button来触发小菊花的效果
UIButton*button = [UIButtonbuttonWithType:UIButtonTypeSystem]
button.frame=CGRectMake(150,400,100,100)
button.backgroundColor= [UIColorblackColor]
[self.viewaddSubview:button]
[buttonaddTarget:selfaction:@selector(buttonAction:)forControlEvents:UIControlEventTouchUpInside]
}
-(void)buttonAction:(UIButton*)button{
if([self.activityisAnimating]) {
[self.activitystopAnimating]
}else{
[self.activitystartAnimating]
}
}
项目中需要用到类似IOS的菊花选中效果。有一些app中是使用第三方的git控件来做直接加载一个gif图片,不过不喜欢这种方式。为了这么点功能就在项目中添加类库总觉得大材小用了。这里直接为progressbar指定加载图片实现同样的效果。1.首先需要定义在drawble中定义一个旋转动画
<?xml version="1.0" encoding="utf-8"?><animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="菊花图片" android:fromDegrees="0.0" android:pivotX="50.0%" android:pivotY="50.0%" android:toDegrees="360.0"/>
2.在布局中找到progress所在的地方,按照如下方法设置:
<ProgressBar
android:id="@+id/reg_req_code_gif_view"android:layout_width="@dimen/dimen_30"android:layout_height="@dimen/dimen_30"android:indeterminateDrawable="@drawable/base_loading_large_anim"android:indeterminateBehavior="repeat"/>
1、如果此手机用的是移动网络。就会经常出现此类情况。2、移动的网络不稳定,手机需要经常扫描网络才能保持一直连接在网络上。所以小菊花需要一直旋转表示正在搜索网络。在用网时是连接在网络上的,不需要一直搜索,所以不转。
3、移动保持在线小菊花需要不停转动搜索网络,所以非常的耗电。手机使用时间会大大缩短。所以不用网络时应该把网络关闭以节省电量。
4、使用移动4G后情况有所好转。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)