在android 开发中,经常需要用到加载,不管是刷新加载还是什么加载,都需要我们去让客户体验更好。所以加载是--important。
而常用的大多是图片加动画,甩几张连续的加载图加上动画就搞定一个动态加载效果。在github上,无意间看到了一个开源项目做加载动画的项目,就拿来改改用很好的一个android 库。效果如下:
当我们使用这个库的时候,只需在布局文件中加上一下代码即可:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/loading" android:layout_width="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_height="match_parent" > <!--这里的indicator可选 --> <cn.istarvip.loading.LoadingIndicatorView android:id="@+id/loading_icon" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content" app:indicator="BallSpinFadeLoader" /> </RelativeLayout>
在activity中控制动画加载的开始结束:
void startAnim(){ findViewById(R.id.loading_icon).setVisibility(View.VISIBLE); } void stopAnim(){ findViewById(R.id.loading_icon).setVisibility(View.GONE); }
当然还可以直接在activity添加:
public class MainActivity extends Activity { private Context context=this; private RelativeLayout relative; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); relative=(RelativeLayout) findViewById(R.id.container); // loading_id 在(0~27)中选择 int loading_id=22; LoadingIndicatorView load=new LoadingIndicatorView(context, loading_id); //添加view relative.addView(load); } }
indicators 在以下中任选:
Row 1
BallPulse
BallGridPulse
BallClipRotate
BallClipRotatePulse
Row 2
SquareSpin
BallClipRotateMultiple
BallPulseRise
BallRotate
Row 3
CubeTransition
BallZigZag
BallZigZagDeflect
BallTrianglePath
Row 4
BallScale
LineScale
LineScaleParty
BallScaleMultiple
Row 5
BallPulseSync
BallBeat
LineScalePulseOut
LineScalePulseOutRapid
Row 6
BallScaleRipple
BallScaleRippleMultiple
BallSpinFadeLoader
LineSpinFadeLoader
Row 7
TriangleSkewSpin
Pacman
BallGridBeat
SemiCircleSpin
推荐使用方法二,指定id即可。
加载控制同上,这样是不是很简单,快快拿去用吧。 github地址
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于