使用Dark Theme RecyclerView

时间:2017-07-20 11:48:02

标签: android

我有一个Light主题应用程序,在其中一个屏幕中我有一个回收者视图,我需要变暗。

我已经尝试将recyclerview的主题设置为“@ style / ThemeOverlay.AppCompat.Dark”,但RecyclerView保持相同的背景颜色,只有文本在预览中显示为白色,但在真实设备上它仍然是显示为暗(因此,如果我放置背景,则无法读取)。

这是项目布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:gravity="center_vertical"
              android:orientation="horizontal"
              style="@style/ThemeOverlay.AppCompat.Dark"
              android:padding="@dimen/single_padding"
              android:theme="@style/Base.ThemeOverlay.AppCompat.Dark">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:text="52''"
        style="@style/ThemeOverlay.AppCompat.Dark"
        tools:text="52''"/>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/single_padding"
        android:src="@mipmap/ic_launcher_round"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            tools:text="Title"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            tools:text="Subtitle"/>
    </LinearLayout>


    <ImageView
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:src="@drawable/logo"
        />

</LinearLayout>

这就是我宣布我的Recyclerview的方式:

        <android.support.v7.widget.RecyclerView
            android:id="@+id/highlights_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/ThemeOverlay.AppCompat.Dark"
            android:theme="@style/ThemeOverlay.AppCompat.Dark"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            tools:listitem="@layout/highlight_list_item"/>

2 个答案:

答案 0 :(得分:0)

在您的recyclerview xml中添加此行以更改背景颜色。

    android:background="@color/your_background_color"

答案 1 :(得分:0)

Adapter onCreateViewHolder 中,错误的上下文可能会发生。