V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fashioncj
V2EX  ›  Android

请教一个自定义视图组件的实现思路

  •  
  •   fashioncj · 2018-05-10 22:22:26 +08:00 · 9256 次点击
    这是一个创建于 2390 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近遇到一个需求,先上图。

    图 1:

    1

    图 2:

    2


    需求如下:

    1. 根据服务器参数显示 nn 的大框,标注 1,2,3,...,NxN,大框在接收双指缩小的时候显示 22 或 3*3 的虚线格子。
    2. 拖拽一个矩形控件到该大框中,双击该控件自动放大到之前覆盖的虚线格子的大小并覆盖,例如图 1 的 4k 演示双击后变成图 2 的 4k 演示。
    3. 可以获取矩形控件在大框中的相对位置

    希望能够获取一些思路和关键词,或者合适的开源组件~ 谢谢~

    4 条回复    2018-05-11 00:09:44 +08:00
    intret
        1
    intret  
       2018-05-10 23:40:21 +08:00 via Android
    讲真,如果你去系统地学习如何自定义 View,这个问题已经解决 90%。如果告诉你思路,结果 99%的工作还得你做。如果你会自定义 View 后,这个问题真的有思路了。矛盾吧?

    自定义 View 就是在自定义 View 类中定义很多的类属性描述 View 的绘制状态,动画状态。提供交互接口更新这个类的属性。

    而绘制虚线,实线,矩形,改颜色,填充样式,绘制文字,这些真的不难。
    intret
        2
    intret  
       2018-05-10 23:48:35 +08:00   ❤️ 1
    装逼装了一半也不合适,给你提供一些帮助:

    http://www.gcssloop.com/customview/CustomViewIndex/
    http://hencoder.com/


    这个我的自定义 View 作品,希望对你有帮助。

    https://github.com/intret/LoadingToggleButton
    fashioncj
        3
    fashioncj  
    OP
       2018-05-11 00:03:55 +08:00 via iPhone
    @intret 我在想的是是否存在一个 view 最适合这个需求。自定义 view 之前没有很系统的接触,我会仔细的看一下你给的东西。不知道可否告诉我解决这个需求重点是哪几个部分或者关键词。因为时间比较紧😂
    janus77
        4
    janus77  
       2018-05-11 00:09:44 +08:00
    有点像图片裁剪框的那种?
    拿到矩形在 N*N 中的相对位置 然后就好办了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:17 · PVG 10:17 · LAX 18:17 · JFK 21:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.