Android 省略号加载动画效果的实现思路
来源:互联网 发布:java mysql学生 编辑:程序博客网 时间:2024/06/05 15:42
public class PointWaitBar extends LinearLayout { private static final int NUM = 5; private Context context; private String TAG = "PointWaitBar"; private ImageView mOldIM; private UpdateHandler handler; public PointWaitBar(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); this.context = context; init(); } public PointWaitBar(Context context, AttributeSet attrs) { super(context, attrs); this.context = context; init(); } public PointWaitBar(Context context) { super(context); this.context = context; init(); } private void init() { //初始化数据 this.setOrientation(LinearLayout.HORIZONTAL); this.setGravity(Gravity.CENTER); handler = new UpdateHandler(context); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.point_waitingbar_black); LinearLayout.LayoutParams tLayoutParams = new LinearLayout.LayoutParams(bitmap.getWidth(), bitmap.getHeight()); tLayoutParams.leftMargin = 10; tLayoutParams.rightMargin = 10; //添加5个小点省略号 for (int i = 0; i < NUM; i++) { ImageView vDot = new ImageView(context); vDot.setLayoutParams(tLayoutParams); if (i == 0) { vDot.setBackgroundResource(R.drawable.point_waitingbar_white); } else { vDot.setBackgroundResource(R.drawable.point_waitingbar_black); } this.addView(vDot); } mOldIM = (ImageView) this.getChildAt(0); handler.sendEmptyMessage(0); } //提供给外部消除message public void setDestroyCallBack() { if (handler != null) { handler.removeCallbacksAndMessages(null); LogUtil.i(TAG, "已经清除消息"); } } class UpdateHandler extends Handler { WeakReference<Context> reference; public UpdateHandler(Context context) { reference = new WeakReference<Context>(context); } @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); int cPosition = msg.what; if (mOldIM != null) mOldIM.setBackgroundResource(R.drawable.point_waitingbar_black); ImageView currentIM = (ImageView) PointWaitBar.this.getChildAt(cPosition); currentIM.setBackgroundResource(R.drawable.point_waitingbar_white); mOldIM = currentIM; if (++cPosition == NUM) cPosition = 0; this.sendEmptyMessageDelayed(cPosition, 200); } }}
阅读全文
0 0
- Android 省略号加载动画效果的实现思路
- 加载动画效果的实现
- 三种实现android加载进度条的动画效果
- Android实现跳动的小球加载动画效果
- Android animation-list 实现加载动画效果
- Xamarin.Android 实现正在加载动画效果
- gif文件的加载--实现动画效果
- CSS3实现的图片加载动画效果
- Android复杂自定义动画的实现思路
- 自定义ListView加载动画,实现不一样的加载效果
- MBProgressHUD实现加载动画效果
- android之animation-list+图片实现的粘稠的加载动画效果
- android 使用Path实现搜索动态加载动画效果
- android 简单实现GridView的Item逐个加载和动画效果
- android 各种加载动画效果
- Android中的加载动画效果
- Android动画效果实现
- android实现动画效果
- zookeeper学习记录-02一致性协议
- echarts数据缩放小例子
- LeetCode_7_Reverse Integer
- 字符统计
- [复习]欧几里得 比例简化
- Android 省略号加载动画效果的实现思路
- MySQL的btree索引和hash索引的区别
- spring 4++学习笔记(8-?)
- 【CaiOJ】1147 强连通 Tarjan算法
- mysql优化
- CentOS安装Docker详细教程
- Android之jar包生成
- android 圆角图片实现(二)
- springboot实现定时任务