2014年12月19日 星期五

Android View y,translationY 比較

大家好,我是奶綠茶
Android View 物件有 setY 和 setTranslationY 二個屬性
都是可以更改 y軸座標,兩個屬性原理有些不一樣
setY(10) :以父容器為基準,設置 y 軸座標為 10
View.setY Source 如下
public void setY(float y) {
        setTranslationY(y - mTop);
}

setTranslationY(10):自己為基準,設置 y 軸座標為 10
測試結果如下圖
紅底圖為測試的 ImageView,layout_below 綠底文字
上層有個淡紅色的 RelativeLayout 父容器
呼叫 getY() 時,因為經過 RelativeLayout 排版
以父容器為基準值,得到  109
getTranslationY() 以自己為準基,所以值為 0




轉載請註明出處

2014年11月4日 星期二

android Drawselectorontop

大家好,我是奶綠茶
在使用 ListView 時有個 drawselectonTop 的屬性能夠使用
原文:
Controls whether the selection highlight drawable should be drawn on top of the item or behind it.
意思是說選取時是否要繪制在物件上


左圖是一般樣式,右圖是指定 drawselectonTop ,這樣選取時就會有 highlight的效果

一般的 ViewGroup 並沒有這樣的功能
謙裡有現成的Library可以使用,祝大家學習愉快。
轉載請註明出處
https://gist.github.com/chrisbanes/9091754

2014年4月16日 星期三

Flash Timeline to TweenMaxJS

大家好,我是奶綠茶
因為專案的需求
現在客戶都要製作 html 的網頁
但在製作動態效果上就有些麻煩
都只能用 js 寫出來
使用 createJS 轉出來是 HTML5 Canvas 版本
快樂  IE8 不支援
所以筆者寫了一個 Flash 的小外掛
能將 Flash 裡的時間軸動畫輸出成 html 的程式碼
動態的部份是使用 TweenMax 來製作
這樣就可以用熟悉的工具拉時間軸動畫
且支援舊的 Browser
不是所有的 Flash 裡的效果都有支援轉換
一定要本來 html 做的到的功能才行
感謝老婆大大 Betty 提供的idea(聽老婆的話就對了,羞)
Adobe Flash CS6 Timeline to TweenMaxJS alt tag

將目前的時間軸轉成 TweenMax JS 版程式碼

使用方法:
1. 下載 flashTimelineToTweenMaxJS.zxp 2. 開啟 FlashCS6(FlashCC).
3. 在 PC 上,中文 OS 安裝英文版 Flash 軟體時, 安裝 extensions 會有語系問題
解決方法是從 Flash / Help / Manage Extensions 啟動並安裝
alt tag
4. 製作你的時間軸動畫或點我下載 Demo.fla .
5. 第一個影格不能是空.
alt tag
6. 點擊上方工具列 / 命令 / flashTimelineToTweenMaxJS 
alt tag
7. 在同 fla 資料夾下即可看到匯出的 html 檔.
8. html 需要引用 TweenMax 和 jQuery 的 Library.

createJS 轉出來的是 html5 canvas 動畫, 快樂 IE8 不支援
我的小工具只是將動畫轉成 TweenMax 的程式碼,省去前端攻城屍 Coding 時間
zxp_source 資料夾裡是完整的 Source Code 

完整的 SourceCode 我放在 Github 上
https://github.com/milkmidi/flashtimeline_to_tweenmaxjs

轉載請註明出處

2014年4月15日 星期二

壓縮你的js程式碼

大家好,我是奶綠茶
在專案上線前,我都會把 js 的程式碼壓縮成最小化
一來 k 數小,二來也比較安全一點
我是使用 Google 的線上壓縮JS服務
http://closure-compiler.appspot.com/home
但每次都要線上壓有點麻煩
好在他有提供 api 和 jar 可以使用
寫一個簡單的 bat 檔,把你的本來的 js 檔接過去執行
就會自動幫你另存一個壓過後的 js 版本

:: @echo off
:: 指定你的 jar 路徑
set COMPILER="F:\[Service]\google-closure\compiler.jar"

@echo "%~f1"

SET v_filename=%~nx1
SET v_ext=%~x1
SET v_remainder=%~dp1
java -jar %COMPILER% --js "%~f1" --js_output_file %v_filename%.min.js


pause

如果你是使用 vs 系列的開發人員
可以加裝這一套外掛
http://visualstudiogallery.msdn.microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6
將你寫好的 js 檔,同路徑下另存一個 xxxx.min.js
只要按存檔, 就會自動幫你壓縮好
超方便的
大推

轉載請註明出處

2014年2月18日 星期二

unity Android Back鍵

在 unity 裡,想要得到 Android 接下 Back 鍵事件 可以用以下方法

轉載請註明出處
if (Application.platform == RuntimePlatform.Android) {
 if ( Input.GetKeyDown( KeyCode.Escape )  ) {
  Application.Quit();//離開應用程式
 }
}

2014年2月17日 星期一

unity setTimeout (C#)

在 unity C#沒有 setTimeout 這個函式
但可以用以下方法實作

轉載請註明出處
 public IEnumerator doSomethingWaitFor() {
        yield return new WaitForSeconds( 2.0f );
        Debug.Log( "doSomethingWaitFor" );
        我要執行的函式();
}
void 我要執行的函式(){
       Debug.Log( "我要執行的函式" );
}