请教一个自定义视图组件的实现思路 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fashioncj
V2EX    Android

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

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

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

    图 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 之前没有很系统的接触,我会仔细的看一下你给的东西。不知道可否告诉我解决这个需求重点是哪几个部分或者关键词。因为时间比较紧
    rb6221
        4
    rb6221  
       2018-05-11 00:09:44 +08:00
    有点像图片裁剪框的那种?
    拿到矩形在 N*N 中的相对位置 然后就好办了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3007 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms TC 13:32 PVG 21:32 LAX 06:32 JFK 09:32
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86