1

以下のコンポーネントが必要なAdobeAirアプリケーションを作成しようとしています。

サンプル画像

このモックアップについて詳しく説明させてください。

両側に2つのパネルがあり、これらのパネル内のアイテムは、2つのフォルダー内でアイテムを移動するのと同じように、互いにドラッグアンドドロップできます。いくつかのチュートリアルでは、

dragEnabled = "true"
dropEnabled = "true"
dragMoveEnabled = "true"

仕事をします。ただし、ここで重要な部分があります。リスト内のアイテムは、上記のように左側に画像、右側にTextAreaを持つような構造にしたいと思います。ユーザーがこの「構造化アイテム」をドラッグするとき、ユーザーが最初にこの「構造化アイテム」をドラッグした場所に関係なく、すべてを別の側にまとめたいと思います。つまり、ユーザーが画像からクリックしてドラッグアンドドロップした場合です。反対側には、この「構造化アイテム」が反対側に表示されます。ユーザーがTextAreaからドラッグした場合も、同じことが起こります。

スクロールパネル内にあるこの「構造化アイテム」の一部であるTextAreaは、ユーザーがそのテキストもスクロールできるようにする必要があります。

では、AdobeAirでこれをどのように行うのでしょうか。

4

1 に答える 1

2

Flextrasは正しいです。さまざまなことを試し、自分でそれを理解しようとするために費やした努力を示すことが常に最善です。しかし、私は今日もまた良い気分になっているので、ここに行きます:)

主な用途:

        import mx.collections.ArrayCollection;

        [Bindable]
        private var list1Array:ArrayCollection = new ArrayCollection([
            {text: "a"},
            {text: "b"},
            {text: "c"},
            {text: "d"},
            {text: "e"}]);
        [Bindable]
        private var list2Array:ArrayCollection = new ArrayCollection();

    ]]>
</fx:Script>

<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:HGroup>
    <s:List dataProvider="{list1Array}" dragEnabled="true" dragMoveEnabled="true" dropEnabled="true" itemRenderer="listItemRenderer"/>
    <s:List dataProvider="{list2Array}" dragEnabled="true" dragMoveEnabled="true" dropEnabled="true" itemRenderer="listItemRenderer"/>
</s:HGroup>
</s:Application>

listItemRenderer:

<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
            xmlns:s="library://ns.adobe.com/flex/spark" 
            xmlns:mx="library://ns.adobe.com/flex/mx" 
            autoDrawBackground="true">

<fx:Script>
    <![CDATA[
        private function updateData():void
        {
            data.text = textArea.text;
        }
    ]]>
</fx:Script>
<s:HGroup>
    <mx:Image width="50" height="50"/>
    <s:TextArea id="textArea" text="{data.text}" change="updateData()"/>
</s:HGroup> 
</s:ItemRenderer>
于 2012-05-09T17:24:47.083 に答える