跳到主要內容

發表文章

目前顯示的是 9月, 2011的文章

AIR3.0 Native extensions Example Part1

大家好,我是奶綠茶 Adobe AIR3.0 即將發怖 其中最酷的新功能就是可以呼叫原生的程式 在這奶綠茶我就以 Android 來做個 Demo。 1.呼叫 Android toast 2.呼叫 Android AlertDialog 3.呼叫 Android DatePickerDialog(非同步,並得到所選的日期回傳給 flash) 4.List Dialog 5.得到 DeviceID 教學Step: 1.下載 AIR3.0 SDK(目前是 RC 1 3.0.0.388) http://labs.adobe.com/downloads/air3.html 2.安裝 FlashDevelop4 3.安裝 Ant (方便下 Command Line, 不裝也可以) http://ant.apache.org/ 4.安裝 AntPlugin for FD4 http://code.google.com/p/fd-ant-plugin/ 5.FlashAction3 AIR3.0裡,多出了一個 ExtensionContext 類別,用來呼叫原生的程式碼 var extension:ExtensionContext = ExtensionContext.createExtensionContext("Native ID", null); 其中Native ID指的是你要呼叫的 id 名稱 同時要在你的 application.xml 宣告 <extensions> <extensionID>milkmidi.air3.demo</extensionID> </extensions> 結著就可以使用 extension.call("funcationName", ...params); 來呼叫 如果是同步的話,extendsion 就會直接 return 值 非同步的話,就使用 addEvetnListener( StatusEvent.STAUS ) 來偵聽 6.Android 端 使用 Eclipse 開啟新的 Android Project 將 AIR3.0 SDK 裡的 lib\android\FlashRunti

Android Custom Title

大家好,我是奶綠茶, 今天來分享如何客制化 Android 的 Title Bar 先看預設的樣式 接著改變 Style, 變成水果風 先製作 title 的 layout, my_title.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button style="@style/title_bar_button_back" android:id="@+id/back_btn" android:layout_marginLeft="5dp" android:text="Back" /><!-- 這裡是 Back 鍵 --> <TextView style="@style/title_bar_text" android:id="@+id/title_txt" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="Title" /> </RelativeLayout> style.xml <style name="my_theme" parent="@android:style/Theme.Light"> <item name="android:windowContentOverlay">@null</item> <item name="android:windowTitleSize">40.0dip</item>

Android Save 圖片至 SD Card

大家好,我是奶綠茶 今天來分享一下如果將 Android 的畫面拍成圖檔並存在 SD Card 裡 首先要在 Manifest.xml 裡開啟 寫入的權限 uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 接著要把 View 轉成 Bitmap 物件 final ViewGroup _v = (ViewGroup) findViewById(R.id.root); Bitmap bm = Bitmap.createBitmap(_v.getWidth(), _v.getHeight(), Bitmap.Config.RGB_565); _v.draw(new Canvas(bm)); 透過 File 來存檔 先檢查使用者有沒有 SD Card public static boolean checkSDCard() { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { return true; } return false; } 存檔 public static void saveBitmap(String pFolderPath, Bitmap pBitmap, String pFileName) throws IOException { String _folderPath = pFolderPath; if (_folderPath.lastIndexOf("/") == -1) { _folderPath += "/"; } File _file = new File(_folderPath + pFileName); OutputStream _outStream = new FileOutputStream(_file); pBitmap.compress(Bitmap.CompressFo

Android ImageView ScaleType

大家好,我是奶綠茶 在 Android 裡的 ImageView 元件,可以放置圖片 其中可以設定 ScaleType 官方 API 說明 為了方便測試,在這先準備二張圖片 450x500和 500x450 筆者以 320x480 的 Emulator 來測試 Layout 的部份放上二個 RadioButton 用來切換二圖不同 Size 的圖片 再放上六個 Button 來顯示圖片同 Size 的圖片 再放上六個 Button 來顯示圖片 主程式 package milkmidi.tutorial.imagescaletype; import android.app.Activity; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager.LayoutParams; import android.widget.ImageView; import android.widget.ImageView.ScaleType; import android.widget.PopupWindow; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; public class ImageViewScaleTypeMainActivity extends Activity implements OnCheckedChangeListener { Drawable mCurrentDrawable; @Override public void onCreate(Bundle savedInstanceState) {