zoukankan      html  css  js  c++  java
  • Android 自定义View

    Android 自定义View
    http://www.cnblogs.com/manuosex/p/5301252.html
    https://www.jianshu.com/p/c84693096e41

    OnTouchListener
    OnGestureListener

    private GestureDetector mGestureDetector;

    public interface onDeleteListener {
    void onDelete(int index);
    }

    public void setOnDeleteListener(OnDeleteListener listener) {
    mOnDeleteListener = listener;
    }

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    params.addRule(RelativeLayout.CENTER_VERTICAL);

    private ViewGroup mItemLayout;
    mItemLayout.removeView(mDeleteBtn);
    mItemLayout = (ViewGroup) getChildAt(mSelectedItem
    - getFirstVisiblePosition());
    mItemLayout.addView(mDeleteBtn, params);
    isDeleteShown = true;

    onMeasure()
    onLayout()
    onDraw()

    创建一个全新View实现自定义控件,无非分成这么几步:

      Ⅰ、在OnMeasure()方法中,测量自定义控件的大小,使自定义控件能够自适应布局各种各样的需求。

      Ⅱ、在OnDraw()方法中,利用哼哈二将(Canvas与Paint)来绘制要显示的内容。

      Ⅲ、在OnLayout()方法中来确定控件显示位置。

      Ⅳ、在OnTouchEvent()方法处理控件的触摸事件。

    onDraw()
    Canvas , Paint
    onTouchEvent()

  • 相关阅读:
    打印机连接向导
    字符串替换
    登入脚本统一公司桌面
    判断文件是否存在
    DOS系统变量
    修改文件访问权限
    【CF1017C】The Phone Number(构造)
    【CF1017B】The Bits(模拟)
    【CF1017A】The Rank(签到)
    【CF1016B】Segment Occurrences(模拟)
  • 原文地址:https://www.cnblogs.com/bluestorm/p/9355670.html
Copyright © 2011-2022 走看看