<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專注UI技術(shù)

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    關(guān)注細(xì)節(jié)-TWaver Android

    Posted on 2013-01-14 11:04 TWaver 閱讀(1410) 評論(0)  編輯  收藏
    一款優(yōu)秀的產(chǎn)品體現(xiàn)在細(xì)節(jié),UI產(chǎn)品更是如此,精確到每個(gè)像素,平衡性能與效果的最佳點(diǎn),是我們追求的目標(biāo),細(xì)節(jié)的實(shí)現(xiàn)過程會有困難,結(jié)果卻讓人興奮,TWaver Android的開發(fā)正是如此,所以我忍不住想分享一些細(xì)節(jié)點(diǎn)。

    位置的細(xì)節(jié)
    位置與坐標(biāo)是圖形界面的基礎(chǔ),TWaver Android中使用了絕對與相對坐標(biāo)結(jié)合的思路,采用漫游模式交互,代碼上與以往twaver產(chǎn)品會有所不同,這里列舉部分特點(diǎn)。

    絕對位置的兩個(gè)要素
    (location, anchor position)
    位置是圖形元素最基本的信息,自然想到的是點(diǎn)(Point)作為位置(location),比如說你的位置在(250, 360),但人不是大頭針,物體總是有尺寸,一個(gè)點(diǎn)代表不了位置的全部信息,比如人的位置是算腳尖還是腳跟呢?于是我們引入掛載點(diǎn)位置(anchorPosition)參數(shù),可以是左上角,中心或者其他位置,于是在TWaver Android中,你會看到位置的兩個(gè)要素:位置(location)和掛載點(diǎn)(anchor position)
    下面示意圖中,兩個(gè)網(wǎng)元相同的位置(100, 100),但掛載點(diǎn)不同,一個(gè)在中心,另一個(gè)在左上角。

    下面的代碼的作用是,設(shè)置網(wǎng)元位置(100, 100),掛載點(diǎn)位置為左上角(left top,初始為居中)

    1 node.setLocation(100, 100);
    2 node.setAnchorPosition(Position.LEFT_TOP);

    相對位置的三個(gè)要素
    (position, offset, anchor position)
    對于相對位置,TWaver Android引入了第三個(gè)要素(position),twaver中網(wǎng)元可以組合,每個(gè)節(jié)點(diǎn)由一個(gè)主體(body)和一堆附件(attachments)組成,其中附件的位置就是相對與主體,稱為相對位置,以文本標(biāo)簽為例,可以放置在主體的底部,中間或者其他
    下面的代碼設(shè)置文本相對位置為節(jié)點(diǎn)的左上角,掛載點(diǎn)位置為右下角

    1 node.setStyle(Styles.LABEL_POSITION, Position.LEFT_TOP);
    2 node.setStyle(Styles.LABEL_ANCHOR_POSITION, Position.RIGHT_BOTTOM);


    再加上前面提到的掛載點(diǎn)位置,兩者組合可以實(shí)現(xiàn)81種位置,詳見LabelPositionDemo




    推而廣之,對于線形元素,81種位置同樣適用,且支持沿線旋轉(zhuǎn)等等



    外觀的細(xì)節(jié)

    前面位置和組合是否讓你興奮,又或者是頭暈,好吧,我可以說些更直觀的東西——外觀

    漸變 - 彩虹
    漸變旋轉(zhuǎn),偏移,再加上一尾彩虹色,是否讓可愛的Demo頓時(shí)文藝



    定義彩虹漸變
    1 int[] rainbowColors = new int[]{0x00000000, 0xFFFF0000, 0xFFFFFF00, 0xFF00FF00, 0xFF00EAFF, 0xFF000390, 0xFFFF00C6, 0x00000000};
    2 float[] rainbowPositions = new float[]{0f, 0.12f, 0.28f, 0.45f, 0.6f, 0.75f, 0.8f, 1f};
    3 Gradient linearGradient = new Gradient(Gradient.LINEAR, rainbowColors, rainbowPositions);
    4 Gradient radialGradient = new Gradient(Gradient.RADIAL, rainbowColors, rainbowPositions);
    5 Gradient sweepGradient = new Gradient(Gradient.SWEEP, rainbowColors, rainbowPositions);

    冒泡樣式
    twaver的告警冒泡樣式頗受好評,如果將這種冒泡推而廣之,作用于所有附件,你是否感到興奮呢,看看TWaver Android中的冒泡效果



    設(shè)置lable的冒泡效果

     1 Gradient linearGradient = Gradient.LINEAR_GRADIENT_VERTICAL;
     2 int backgroundColor = Defaults.GROUP_BACKGROUND_COLOR;
     3 node1.setStyle(Styles.LABEL_OUTLINE, 1);
     4 node1.setStyle(Styles.LABEL_PADDING, new Insets(5));
     5 node1.setStyle(Styles.LABEL_BACKGROUND_COLOR, backgroundColor);
     6 node1.setStyle(Styles.LABEL_CORNER_RADIUS, 10);
     7 node1.setStyle(Styles.LABEL_OFFSET, new Point(0, 10));
     8 node1.setStyle(Styles.LABEL_BACKGROUND_SHADER, linearGradient);
     9 

    圓角,陰影

    圓角,陰影本是平常的東西,雖然申請不了圓角矩陣的專利,但我們可以稍微做好些,TWaver Android中圓角普遍被應(yīng)用,而陰影效果也不錯(cuò)



    更多

    細(xì)節(jié)很多,這只是冰山一角,從模型,外觀到交互設(shè)計(jì),方方面面等待你去體驗(yàn),最后靜待TWaver Android的正式發(fā)布……


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 中国内地毛片免费高清| 亚洲日韩精品无码专区| 中文在线观看永久免费| 狠狠亚洲狠狠欧洲2019| 国产视频精品免费视频| 亚洲日本在线观看视频| 一级毛片aa高清免费观看| 国产精品亚洲综合一区| 久久免费观看视频| 国产AV无码专区亚洲精品| 国产高清不卡免费视频| 亚洲沟沟美女亚洲沟沟| 成年女人免费视频播放77777 | 国产午夜精品久久久久免费视 | 91人人区免费区人人| 亚洲黄色免费观看| 青娱分类视频精品免费2| 亚洲精品国产日韩| 国产一级理论免费版| 国产在线精品观看免费观看| 亚洲国产第一站精品蜜芽| 99精品一区二区免费视频| 亚洲免费中文字幕| 日韩视频在线免费| 国产高清对白在线观看免费91| 亚洲阿v天堂在线| 成人免费AA片在线观看| 亚洲AV性色在线观看| 亚洲亚洲人成综合网络| 精品女同一区二区三区免费站| 亚洲精品一卡2卡3卡四卡乱码| www亚洲一级视频com| 十八禁视频在线观看免费无码无遮挡骂过 | 亚洲人成77777在线观看网| 亚洲av无码乱码在线观看野外 | 人人狠狠综合久久亚洲婷婷| 1000部啪啪毛片免费看| 亚洲色最新高清av网站| 亚洲中文字幕日产乱码高清app| 亚洲电影免费观看| 免费一级做a爰片久久毛片潮|