[AIR for iOS] CameraRoll の初期表示位置
今までは、AIR for iOSで書き出されたiPadアプリでは、CameraRoll の表示位置が指定できませんでした。
表示位置は、(0,0)になってしまい、これはアプリの審査にも影響ありました。
AIR 3 RC では、CameraRoll の表示位置が指定できるようになりました。
flash.media.CameraRollBrowseOptionsを利用して初期表示情報を指定します。
var op:CameraRollBrowseOptions = new CameraRollBrowseOptions(); //CameraRollの初期表示位置を決めるための領域の指定 op.origin = new Rectangle(10,10,1,1); //CameraRollの幅の指定 op.width = 320; //CameraRollの幅の指定 op.height = 480; //引数に指定 cameraRoll.browseForImage(op);
下記は、座標を入力してカメラロールを表示するサンプルです。
赤い四角は、初期表示位置を決めるための領域です。
各パラメーターを変更してどのように表示されるか試してください。
<?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView"> <fx:Script> <![CDATA[ public var cameraRoll:CameraRoll; protected function button1_clickHandler(event:MouseEvent):void { if( cameraRoll == null ){ cameraRoll = new CameraRoll(); } var op:CameraRollBrowseOptions = new CameraRollBrowseOptions(); var xVal:int = parseInt(xx.text); var yVal:int = parseInt(yy.text); var wVal:int = parseInt(ww.text); var hVal:int = parseInt(hh.text); var w1Val:int = parseInt(ww1.text); var h1Val:int = parseInt(hh1.text); op.origin = new Rectangle(xVal,yVal,wVal,hVal); op.width = w1Val; op.height = h1Val; cameraRoll.browseForImage(op); } ]]> </fx:Script> <fx:Declarations> <!-- 非ビジュアルエレメント (サービス、値オブジェクトなど) をここに配置 --> </fx:Declarations> <s:actionContent> <s:Button click="button1_clickHandler(event)"/> </s:actionContent> <s:layout> <s:VerticalLayout/> </s:layout> <s:TextInput id="xx" text="100"/> <s:TextInput id="yy" text="100"/> <s:TextInput id="ww" text="100"/> <s:TextInput id="hh" text="100"/> <s:TextInput id="ww1" text="100"/> <s:TextInput id="hh1" text="100"/> </s:View>