Почему элементы во всех строках списка строк повторяются в brightscript

Я пытаюсь использовать список строк, содержащий 3 строки. В каждой строке будет по 11 элементов. Но когда он отображается, после 11 элементов снова элементы повторяются во всех строках.

Ниже представлены файлы XML.

BrowseScreen.xml

<?xml version="1.0" encoding="utf-8" ?>
<component name="BrowseScreen" extends="Group">
    <children>
        <!-- The main content -->
        <RowList id="BrowseRowList"
            itemComponentName="customItem"
            focusXOffset="[0]"
            itemSize="[1920,500]"
            numRows="3"
            drawFocusFeedback="false"
            rowFocusAnimationStyle="fixedFocusWrap"
            rowHeights="[500]"
            showRowLabel="[true]"
            rowLabelOffset="[[0,20]]"
            rowItemSpacing="[[0,40]]"
            showRowCounter="[false]"
            rowItemSize="[[250,273]]"
            variableWidthItems="[true]"
            translation="[70, 40]" />

    </children>

    <script type="text/brightscript" uri="pkg:/components/BrowseScreen/BrowseScreen.brs"/>
</component>

customItem.xml

<?xml version="1.0" encoding="utf-8" ?>

<component name="customItem" extends="Group">
    <children>
        <Group id="itemCard" translation="[10, 10]" scale="[0.90, 0.90]"
               scaleRotateCenter="[125.0, 183.0]">

            <Poster id="itemPoster" 
                width="250"
                height="375"
                failedBitmapUri="pkg:/images/placeholder/iptv_placeholder_2by3_dark.png"
                loadingBitmapUri="pkg:/images/placeholder/iptv_placeholder_2by3_dark.png"
                loadDisplayMode="scaleToZoom" />

            <Group id="itemMetaGroup" 
                visible="false" 
                translation="[0, 273]">

                <Rectangle id="itemMetaBG" 
                    width="364"
                    height="102"
                    color="0x333333" />

                <Label id="itemMetaLabel" 
                    width="320" 
                    height="55" 
                    color="0xebebeb" 
                    opacity="1.0"
                    translation="[20, 20]" 
                    horizAlign="left">
                    <Font role="font" uri="pkg:/fonts/Roboto-Bold.ttf" size="21" />
                </Label>

                <Label id="itemMetaData" 
                    width="320" 
                    height="55"
                    text="{MetaData}" 
                    color="0x959595" 
                    opacity="1.0"
                    translation="[20, 60]" 
                    horizAlign="left">
                    <Font role="font" uri="pkg:/fonts/Roboto-Regular.ttf" size="21" />
                </Label>            
            </Group>
        </Group>

    </children>

    <script type="text/brightscript" uri="pkg:/components/Item/customItem.brs" />
    <script type="text/brightscript" uri="pkg:/components/Utils/itemType.brs" />
</component>

Если у меня 11 плакатов в каждой строке, они отображаются, как показано ниже.

1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 1 2 ...

Я не могу понять, почему элементы повторяются. Может ли кто-нибудь сообщить мне, есть ли способ исправить это.


person kadina    schedule 01.02.2019    source источник


Ответы (1)


Ваш RowList ведет себя как таковой, потому что его rowFocusAnimationStyle имеет значение «fixedFocusWrap». Изменение его на rowFocusAnimationStyle="floatingFocus" должно решить вашу проблему.

person juliomalves    schedule 02.02.2019
comment
изменение rowFocusAnimationStyle = FloatingFocus, похоже, не имеет никакого эффекта. - person kadina; 02.02.2019
comment
Это не действует, потому что я использую variableWidthItems = [true]. Если я удалю это и использую rowFocusAnimationStyle = FloatingFocus, проблема будет решена. Но элементы в одном ряду могут иметь разную ширину. Поэтому мне нужно использовать fixedFocusWrap, поскольку переменная ширина может поддерживаться только fixedFocusWrap. Есть ли способ исправить это. - person kadina; 02.02.2019
comment
Я рассматриваю возможность использования для этого postergrid. Но мне нужно провести черту после каждого ряда. Поэтому я не использовал postergrid. - person kadina; 02.02.2019