Flex: нужна помощь в реализации пользовательского кода компонента для пунктирных линий - PullRequest
0 голосов
/ 18 января 2012

Я новичок во Flex, и я пытался выяснить, как использовать следующий код для создания пунктирных линий во Flex 4.

http://riarange.wordpress.com/2010/10/29/how-to-create-a-dotted-line-or-dashed-line-in-flex-4/

Я былнадеясь, что кто-то, кто знает Flex лучше, сможет просто предоставить полный (минимум) пример, который использует этот код для рисования пунктирной линии.У меня проблемы с соединением частей, и я думаю, что автор предположил некоторые базовые знания, которых мне не хватает.Если бы у меня был рабочий пример, я мог бы понять, как адаптировать его к моим потребностям.

Заранее спасибо за любые комментарии / помощь.Если есть лучший код для пунктирных линий, хотелось бы знать.

ОБНОВЛЕНИЕ:

Я поместил код пользовательского компонента в файл DottedLine.mxml в каталоге com.Теперь я получаю сообщение об ошибке, которое появляется в строке <components:Group>: Could not resolve <components:Group> to a component implementation.

<mx:Application 
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx"
    xmlns:components="com.*"
    minWidth="955" minHeight="600" xmlns:com="com.*">

<fx:Script><![CDATA[
    import mx.collections.ArrayCollection;
    [Bindable]
    public var expenses:ArrayCollection = new ArrayCollection([
    {Month:1, Profit:2000, Expenses:1500, Amount:450},
    {Month:2, Profit:1000, Expenses:200, Amount:600},
    {Month:2.05, Profit:1000, Expenses:500, Amount:300},
    {Month:2.1, Profit:1000, Expenses:500, Amount:450},
    {Month:2.15, Profit:1000, Expenses:200, Amount:600},
    {Month:2.2, Profit:1000, Expenses:500, Amount:300},
    {Month:2.25, Profit:1000, Expenses:500, Amount:450},
    {Month:2.3, Profit:1000, Expenses:200, Amount:600},
    {Month:2.35, Profit:1000, Expenses:500, Amount:300},
    {Month:2.4, Profit:1000, Expenses:500, Amount:450},
    {Month:2.45, Profit:1000, Expenses:200, Amount:600},
    {Month:2.5, Profit:1000, Expenses:500, Amount:300},
    {Month:2.55, Profit:1000, Expenses:500, Amount:450},
    {Month:2.6, Profit:1000, Expenses:200, Amount:600},
    {Month:2.65, Profit:1000, Expenses:500, Amount:300},
    {Month:2.7, Profit:1000, Expenses:500, Amount:450},
    {Month:2.75, Profit:1000, Expenses:200, Amount:600},
    {Month:2.8, Profit:1000, Expenses:500, Amount:300},
    {Month:2.85, Profit:1000, Expenses:500, Amount:450},
    {Month:2.9, Profit:1000, Expenses:200, Amount:600},
    {Month:6, Profit:1500, Expenses:500, Amount:300}
    ]);

]]></fx:Script>

<mx:Panel title="Line Chart With Strokes">

    <mx:LineChart id="myChart" dataProvider="{expenses}" showDataTips="true" seriesFilters="{new Array}">
        <mx:horizontalAxis>
            <mx:LinearAxis />
        </mx:horizontalAxis>
        <mx:series>
            <mx:LineSeries xField="Month" yField="Expenses" displayName="Expenses">
                <mx:lineStroke>
                    <mx:SolidColorStroke id="s1" color="0xBD171B" weight="4"/>
                </mx:lineStroke>
            </mx:LineSeries>
            <mx:LineSeries xField="Month" yField="Amount" displayName="Amount">
                <components:Group>
                    <components:DottedLine width="500" height="2" dotColor="0xFFFFFF" dotWidth="3" dotAlpha="1" />      
                </components:Group>
            </mx:LineSeries>
        </mx:series>
    </mx:LineChart>
    <mx:Legend dataProvider="{myChart}" direction="horizontal"/>
</mx:Panel>

1 Ответ

1 голос
/ 18 января 2012

Я сделал это во Flex 3, но считаю, что они оба должны работать и во Flex 4, есть и другие примеры, которые лучше, чем у меня и что вы опубликовали, но это действительно зависит от того, как вы собираетесь подать заявкупунктирные линии.Если это не поможет, дайте мне знать, и я постараюсь уточнить: http://www.shaunhusain.com/TestDashedLines/index.html

http://www.shaunhusain.com/TestDashedLines/index2.html

http://www.shaunhusain.com/TestDashedLines/srcview/

Что у меня здесьэто два приложения в одном проекте, первая страница - это вывод с использованием класса SimpleDashedLine, который предназначен для рисования HRule, но с черточками.Второй - для рисования произвольных прямых линий поверх графики других объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...