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

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

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

    饒榮慶 -- 您今天UCWEB了嗎?--http://www.ucweb.com

    3G 手機開發網

       :: 首頁 :: 聯系 :: 聚合  :: 管理
      99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks
    3G視線 -- 專注手機軟件開發

    原文出處http://www.3geye.net/?uid-3-action-viewspace-itemid-111


    對于自定義UI的設計,涉及到的工作量是很大的,有時候往往要實現一種UI效果而花費大量的時間去思考,找路子,然后實踐,運氣好的話,自然OK,運氣不好,那就很慘了。浪費時間,還沒有效果。
           不過還好有很多前輩總結出了一些方法跟代碼,下面就讓我們來看下,顏色漸變效果的實現吧。實踐了這么,感覺就這個代碼比較好,顏色漸變的比較平滑。很舒服。
            下面是效果圖



    下面是實現代碼,大家可以參考下,也許還有更優化的設計呢。

    下面代碼也是從Intenet來的,只是修改了下。

    /**
         * 繪制漸變色選擇條
         * @param g
         * @param color
         * @param x
         * @param y
         * @param width
         * @param height
         */
        public final static void drawShadeRect(Graphics g,   int color, int x , int y, int width, int height){
             int[] rgb = getShadeColor(color, width);
             for (int by = y; by < y + 20; by += 4)
                  {
                    int nTemp = y + 20 - (by - y);
                    nTemp = nTemp>4 ? 4:nTemp;
                      g.drawRGB(rgb, 0, width, x, by, width,
                          nTemp, true);
                  }
        }
        /**
         * 獲取顏色漸變RGB數組,
         * 為了獲取這個數據,而又跟CLDC1.0兼容,導致項目增加了一個Float類
         * 導致程序變大
         * @param width
         * @return
         */
        public final static int[] getShadeColor(int color , int width){
             int[] rgb;
         
              int shadeWidth = width;
              int nRgbData = shadeWidth * 4;
               
              rgb = new int[nRgbData];
           
              int alpha = -127;
              for (int i = 0; i < shadeWidth; i++)
              {
                alpha = -127 + i;
                //主要算法在這里。
                int col = color | (128 - alpha << 24);
                rgb[i]                  = col;
                rgb[i + shadeWidth    ] = col;
                rgb[i + shadeWidth * 2] = col;
                rgb[i + shadeWidth * 3] = col;               
              }
              return rgb;
        }



    就兩個靜態方法很簡單的。哈



    爬蟲工作室 -- 專業的手機軟件開發工作室
    3G視線 -- 專注手機軟件開發
    posted on 2007-09-13 11:15 3G工作室 閱讀(1842) 評論(3)  編輯  收藏 所屬分類: j2me

    Feedback

    # re: 顏色漸變選擇條的實現 2007-09-13 11:34 千里冰封
    哈哈,不錯.在J2ME里面是挺難得的  回復  更多評論
      

    # re: 顏色漸變選擇條的實現 2007-09-13 20:15 BeanSoft
    是呀, 很不錯的了. 也可以套用到 Java 里面, 雖然有很多現成的畫漸變的方法. 不過這種比較直接, 呵呵.  回復  更多評論
      

    # re: 顏色漸變選擇條的實現 2007-09-14 09:23 爬蟲工作室
    http://www.3geye.net更多精彩的實現,希望愛好J2me的朋友支持下  回復  更多評論
      

    主站蜘蛛池模板: 亚洲日本精品一区二区| 中文字幕免费视频一| 日韩精品视频免费网址| 亚洲在成人网在线看| 四虎成年永久免费网站| 亚洲最新在线视频| 国产在线观看麻豆91精品免费| 亚洲国产高清人在线| 最近免费视频中文字幕大全| 亚洲视频免费在线播放| 69国产精品视频免费| 亚洲日本va在线观看| 欧洲精品成人免费视频在线观看| 亚洲AV无码国产精品色| 拍拍拍又黄又爽无挡视频免费| 亚洲欧美成人一区二区三区| 免费黄色毛片视频| 日韩久久无码免费毛片软件| 久久久久亚洲AV综合波多野结衣| 久久精品免费网站网| 亚洲AV日韩AV永久无码下载| 免费成人福利视频| 亚洲AV电影天堂男人的天堂| 亚洲精品无码99在线观看| 精品无码一级毛片免费视频观看| 亚洲Av综合色区无码专区桃色 | 国产成人精品亚洲一区| 亚洲av手机在线观看| 你好老叔电影观看免费| 4480yy私人影院亚洲| 看全色黄大色大片免费久久| 色爽黄1000部免费软件下载| 国产成A人亚洲精V品无码 | 中文字幕免费在线播放| 亚洲图片一区二区| 成人人观看的免费毛片| 一级毛片免费观看不收费| 亚洲天天在线日亚洲洲精| 日本免费人成视频播放| 久久青青草原国产精品免费| 中文字幕亚洲码在线|