2017-09-22 9 views
-1

J'ai trouvé ce code sur internet, mais mon recycleur ne changera pas d'attribut par ce code. Toute solution?Le recyclage personnalisé ne changera pas d'attribut

En XML, faire correctement mais ne rien programmer.

<com.ScrollRecyclerView 
    style="@style/scrollbar_shape_style" 
    android:id="@+id/drop_down_list" 
    android:layout_width="wrap_content" 
    android:layout_height="300dp"></com.ScrollRecyclerView> 


public class ScrollRecyclerView extends RecyclerView { 

    public ScrollRecyclerView(Context context) { 
     super(context); 
    } 

    public ScrollRecyclerView(Context context, @Nullable AttributeSet attrs) { 
     super(context, attrs, R.attr.scrollbarStyle); 
    } 

    public ScrollRecyclerView(Context context, @Nullable AttributeSet attrs, int defStyle) { 
     super(context, attrs, R.attr.scrollbarStyle); 
    } 
} 
+0

Ceci est une sous-classe simple Recyclerview avec les constructeurs standard. Il ne fait rien que la version par défaut de Recyclerview ne fait pas. – Kuffs

+0

Comment utilisez-vous la sous-classe, directement via XML, ou en créant votre propre AttributeSet et en vous instanciant via le constructeur? –

+0

J'utilise du XML via ID – stankocucuz2

Répondre

0

R.attr.scrollbarStyle n'est pas un style. C'est un attribut qui peut être modifié par un style.

Si vous souhaitez que votre RecyclerView affiche une barre de défilement, définissez l'attribut android: scrollbars en XML.

<android.support.v7.widget.RecyclerView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:scrollbars="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 
-1

Je veux scrollbar personnalisé, par cet attribut

<style name="AppTheme" parent="@style/Theme.Leanback"> 
    <item name="@attr/scrollbarStyle">@style/scrollbar_shape_style</item> 
</style> 

<attr name="scrollbarStyle" format="reference"/> 

<style name="scrollbar_shape_style"> 
    <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item> 
    <item name="android:scrollbarStyle">outsideOverlay</item> 
    <item name="android:scrollbars">vertical</item> 
    <item name="android:fadeScrollbars">false</item> 
    <item name="android:scrollbarThumbVertical">@drawable/scrollbar_vertical_thumb</item> 
    <item name="android:scrollbarTrackVertical">@drawable/scrollbar_vertical_track</item> 
    <item name="android:scrollbarSize">8dp</item> 
</style>