Android仿抖音短视频加载等待动画条
2021-05-26 本文已影响0人
dlihasa
前言
类似抖音中短视频列表上下滑动观看视频的方式,在下方展示等待动画条无疑是很好的体验,项目中可以借鉴这种设计,实现上也是比较简单的
实现
Java代码:
public class LoadingLine extends FrameLayout {
private View loadView;
public LoadingLine(Context context) {
super(context);
initView(context);
}
public LoadingLine(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
initView(context);
}
public LoadingLine(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView(context);
}
private void initView(Context mContext){
final View view = LayoutInflater.from(mContext).inflate(R.layout.line_layout,null);
loadView = view.findViewById(R.id.loadingView);
startAnimation();
this.addView(view);
}
public void startAnimation(){
ScaleAnimation scale = new ScaleAnimation(
0.3f, 1f, 1f, 1f,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
AlphaAnimation alpha = new AlphaAnimation(1f,0.2f);
scale.setRepeatCount(-1);
alpha.setRepeatCount(-1);
AnimationSet set = new AnimationSet(true);
set.addAnimation(scale);
set.addAnimation(alpha);
set.setDuration(500);
loadView.startAnimation(set);
}
}
上方这种实现其实就是内部做了一个动画,动画参数和方式可以根据实际情况进行调整。
使用时,在视频加载完成之前展示等待,加载完成播放时隐藏掉就可以了。
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
xmlns:android="http://schemas.android.com/apk/res/android">
<View
android:id="@+id/loadingView"
android:layout_width="match_parent"
android:layout_height="20dp"
android:background="@color/white"/>
</FrameLayout>
效果如下(太懒了,没有单独拿出来写demo):
嗯,图好丑,不重要~做成gif图有些卡顿,实际效果还是很流畅的。