Widget pro Oblíbené (Favorites) "5 položek na řádek"
Rozšíření Estuary, které se ve widgetu umožní zobrazení 5 položek na řádek. Použití - např. widget pro Oblíbené (Favorites) nebo widgety pro doplňky, apod. V původním řešení se pro zobrazení používá definice z View_54_InfoWall.xml, typ zobrazení Info Wall (v českém překladu Zeď Informací). přímá úprava tohoto kódu by ovlivnila celou řadu dalších zobrazení, proto jsem vytvořil nový widget, umístěný v Includes_Home.xml. Jeho použití ukážu právě na příkladu úpravy widgetu pro Oblíbené (Favorites).
Edituje se Includes_Home.xml, kde se přidá zcela nový widget s názvem WidgetWallItem a Home.xml, kde se drobně upraví parametry widgetu pro Oblíbené (Favorites).
Postup je následující:
1. Do Includes_Home.xml přidáte na konec, tedy před poslední uzavírací tag </includes>, kód WidgetWallItem začínající <include name="WidgetWallItem">:
2. V Home.xml najdete definici widgetu pro Oblíbené (Favoriets). Je to tato část kódu:
a v ní nahradíte:
Rozšíření Estuary, které se ve widgetu umožní zobrazení 5 položek na řádek. Použití - např. widget pro Oblíbené (Favorites) nebo widgety pro doplňky, apod. V původním řešení se pro zobrazení používá definice z View_54_InfoWall.xml, typ zobrazení Info Wall (v českém překladu Zeď Informací). přímá úprava tohoto kódu by ovlivnila celou řadu dalších zobrazení, proto jsem vytvořil nový widget, umístěný v Includes_Home.xml. Jeho použití ukážu právě na příkladu úpravy widgetu pro Oblíbené (Favorites).
Edituje se Includes_Home.xml, kde se přidá zcela nový widget s názvem WidgetWallItem a Home.xml, kde se drobně upraví parametry widgetu pro Oblíbené (Favorites).
Postup je následující:
1. Do Includes_Home.xml přidáte na konec, tedy před poslední uzavírací tag </includes>, kód WidgetWallItem začínající <include name="WidgetWallItem">:
Kód:
<include name="WidgetWallItem">
<param name="fallback_image">DefaultFolder.png</param>
<param name="single_label">$INFO[ListItem.Label]</param>
<param name="focused">false</param>
<definition>
<control type="image">
<top>0</top>
<width>248</width>
<height>312</height>
<texture>dialogs/dialog-bg-nobo.png</texture>
<bordertexture border="21">overlays/shadow.png</bordertexture>
<bordersize>20</bordersize>
</control>
<control type="image">
<top>-4</top>
<left>-4</left>
<width>256</width>
<height>320</height>
<texture colordiffuse="button_focus">colors/grey.png</texture>
<bordertexture border="21">overlays/shadow.png</bordertexture>
<bordersize>20</bordersize>
<visible>$PARAM[focused]</visible>
<include condition="$PARAM[focused]">Animation_FocusTextureFade</include>
</control>
<control type="image">
<left>0</left>
<top>0</top>
<width>248</width>
<height>248</height>
<texture fallback="$PARAM[fallback_image]" background="true">$VAR[InfoWallThumbVar]</texture>
<aspectratio>keep</aspectratio>
<bordersize>20</bordersize>
</control>
<control type="textbox">
<left>20</left>
<top>218</top>
<width>210</width>
<height>80</height>
<font>font12</font>
<align>center</align>
<aligny>center</aligny>
<label>$PARAM[single_label]</label>
</control>
</definition>
</include>
2. V Home.xml najdete definici widgetu pro Oblíbené (Favoriets). Je to tato část kódu:
Kód:
<control type="group" id="14000">
<visible>String.IsEqual(Container(9000).ListItem.Property(id),favorites)</visible>
<include content="Visible_Right_Delayed">
<param name="id" value="favorites"/>
</include>
<control type="panel" id="14100">
<left>65</left>
<top>0</top>
<right>0</right>
<bottom>0</bottom>
<onleft>9000</onleft>
<onright>9000</onright>
<onup>14100</onup>
<ondown>14100</ondown>
<onclick>$INFO[ListItem.FileNameAndPath]</onclick>
<preloaditems>2</preloaditems>
<scrolltime tween="cubic" easing="out">500</scrolltime>
<orientation>vertical</orientation>
<visible>Integer.IsGreater(Container(14100).NumItems,0) | Container(14100).IsUpdating</visible>
<itemlayout width="330" height="396">
<control type="group">
<top>130</top>
<include content="InfoWallMusicLayout">
<param name="fallback_image" value="DefaultFavourites.png" />
<param name="focused" value="false" />
</include>
</control>
</itemlayout>
<focusedlayout width="330" height="396">
<control type="group">
<depth>DepthContentPopout</depth>
<top>130</top>
<animation effect="zoom" start="100" end="110" time="200" tween="sine" easing="inout" center="170,320">Focus</animation>
<animation effect="zoom" start="110" end="100" time="200" tween="sine" easing="inout" center="170,320">UnFocus</animation>
<include content="InfoWallMusicLayout">
<param name="fallback_image" value="DefaultFavourites.png" />
<param name="focused" value="true" />
</include>
</control>
</focusedlayout>
<content>favourites://</content>
</control>
<include content="ImageWidget">
<param name="text_label" value="$LOCALIZE[31025]" />
<param name="button_label" value="$LOCALIZE[31116]" />
<param name="button_onclick" value=""/>
<param name="button_id" value="5500"/>
<param name="visible" value="!Integer.IsGreater(Container(14100).NumItems,0) + !Container(14100).IsUpdating"/>
<param name="visible_1" value="false"/>
<param name="button2_onclick" value="Skin.SetBool(HomeMenuNoFavButton)"/>
</include>
</control>
a v ní nahradíte:
- v řádku <itemlayout width="330" height="396"> hodnotu 330 hodnotou 275 a hodnotu 396 hodnotou 299
- v řádku <focusedlayout width="330" height="396"> hodnotu 330 hodnotou 275 a hodnotu 396 hodnotou 299
- v řádcích (pozor, je to tam taky 2x) <include content="InfoWallMusicLayout"> text InfoWallMusicLayout textem WidgetWallItem