2015-09-04 16 views
7

Sviluppando un'applicazione per Android TV, ho riscontrato un problema per l'utilizzo di BrowseFragment fornito dalla libreria di supporto Leanback. È possibile modificare il margine tra gli elementi di RowsFragment?Impostare i margini tra gli elementi in BrowseFragment

+0

L'imbottitura degli elementi è una soluzione? – Sebastiano

+0

Grazie per la risposta veloce, dopo tutto ho potuto trovare una soluzione. – corochann

risposta

4

enter image description here

ho trovato la risposta da solo. La chiave era HorizontalGridView che memorizza l'elenco di ogni file. Possiamo ottenere il riferimento di questo HorizontalGridView per R.id.row_content. Infine, il metodo setItemMargin era la soluzione per questo. Di seguito è riportato un codice di esempio e potrei ottenere l'immagine superiore.

@Override 
public ViewHolder onCreateViewHolder(ViewGroup parent) { 
    HorizontalGridView horizontalGridView = (HorizontalGridView) parent.findViewById(R.id.row_content); 
    horizontalGridView.setItemMargin(400); // You can set item margin here. 

    ... 

    }; 
+0

come posso impostare il margine verticale per le righe della lista. potresti aiutarmi con questo. –

+1

Prova come '((ViewGroup.MarginLayoutParams) horizontalGridView.getLayoutParams()). SetMargins (0, 0, 0, 100);' Puoi modificare il margine di horizontalGridView stesso. – corochann

+0

ok ci proverò. e puoi anche dirmi come posso impostare il bordo bianco sulla carta visualizzata in righe? –

5

È possibile ignorare alcuni stili per raggiungere questo obiettivo, ad esempio:

<style name="AppTheme.Leanback" parent="Theme.Leanback"> 
    .. 
    <item name="rowHorizontalGridStyle">@style/TvHorizontalGridView</item> 
    .. 
</style> 

<style name="TvHorizontalGridView" parent="Widget.Leanback.Row.HorizontalGridView"> 
    <item name="horizontalMargin">@dimen/margin_medium</item> 
    <item name="verticalMargin">@dimen/margin_medium</item> 
</style> 

dove @dimen/margin_medium è la dimensione del margine che si desidera.

0

Sostituire idealmente i dettagli di stile come risposta @Billy. Può sfortunatamente prendersi un po 'di tempo per capire che cosa. Se quello che stai cercando non è stilizzabile, puoi apparentemente ignorare le risorse integrate di leanback (non sicuro se affidabile/sicuro). es:

<dimen name="lb_browse_rows_margin_top">167dp</dimen> 
<dimen name="lb_browse_item_vertical_spacing">8dp</dimen> 
<dimen name="lb_browse_expanded_row_no_hovercard_bottom_padding">28dp</dimen> 
Problemi correlati