自定义view实现一个view的磁贴效果
来源:互联网 发布:淘宝数据中心 编辑:程序博客网 时间:2024/05/21 10:00
可以根据需求更改构造方法中view中显示的内容
下面代码中只是显示一个textview
public class ScaleView extends RelativeLayout {private TextView textView;public ScaleView(Context context) {super(context);}public ScaleView(Context context, AttributeSet attrs) {super(context, attrs);textView = new TextView(context);RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);params.addRule(RelativeLayout.CENTER_IN_PARENT);textView.setLayoutParams(params);this.addView(textView);}public ScaleView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}public void setText(String text) {textView.setText(text);}@Overridepublic boolean onTouchEvent(MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:preX = (int) event.getRawX();preY = (int) event.getRawY();if (!isDown) {isDown = true;down(this);}break;case MotionEvent.ACTION_UP:if (isDown) {isDown = false;up(this);this.performClick();}break;case MotionEvent.ACTION_MOVE:int currentX = (int) event.getRawX();int currentY = (int) event.getRawY();int distance = (int) Math.hypot(Math.abs(currentX - preX),Math.abs(currentY - preY));if (isDown && distance > 10) {isDown = false;up(this);}break;}return true;}private int preX = 0;private int preY = 0;private boolean isDown = false;private void down(View view) {ScaleAnimation sanimation = new ScaleAnimation(1.0f, 0.95f, 1.0f,0.95f, Animation.RELATIVE_TO_SELF, 0.5f,Animation.RELATIVE_TO_SELF, 0.5f);sanimation.setDuration(200);sanimation.setFillAfter(true);view.startAnimation(sanimation);}private void up(View view) {ScaleAnimation sanimation = new ScaleAnimation(0.95f, 1.0f, 0.95f,1.0f, Animation.RELATIVE_TO_SELF, 0.5f,Animation.RELATIVE_TO_SELF, 0.5f);sanimation.setDuration(200);sanimation.setFillAfter(true);view.startAnimation(sanimation);}}
0 0
- 自定义view实现一个view的磁贴效果
- 自定义view实现一个游标效果
- Android下 一个自定义VIEW实现简单的弹幕效果
- 初识kotlin实现一个类似烟花效果的自定义view
- Android 自定义View:实现View的滑动效果
- Android 自定义View:实现View的滑动效果
- 自定义view实现图文环绕的效果
- 自定义view实现水波荡漾的效果
- android自定义view实现progressbar的效果
- 自定义view实现刮奖的效果
- 很酷炫的自定义view实现光圈效果
- 自定义View实现刮刮卡效果
- 自定义View实现SwichButton效果
- 自定义 View 实现钟表效果
- 自定义View实现索引效果
- 自定义view实现炸弹效果
- 自定义view实现一个游标效果(增强)
- 简单实现一个自定义view的ProgressBar
- 抓取微博热词,使用simple_html_dom来操作html数据
- 位图缓存
- WINVNC源码阅读(二)
- 学习Java09
- Error in an XML file: aborting build
- 自定义view实现一个view的磁贴效果
- WINVNC源码阅读(三)
- 4个FPGA工程师面试题目
- IOS下处理异步网络事件
- java 之 二分查找实现
- Kb/s,KB/s 究竟如何换算
- CSS3实现Loading加载动画特效大全
- WINVNC源码阅读(四)
- 线程堆栈的理解