Я установил вид рециркулятора и установил один textview
с простым текстом в файле строк RecyclerView
.
Я установил fragment
в соответствии с вкладкой, значит, я использовал BottomNavigationView
и есть один fragment
, который содержит RecyclerView
.
И я установил android:forceDarkAllowed="true"
внутри XML-файла.
Я применил тему DayNight
.
Цвет textview
, который находится внутри xml фрагмента, может быть обновлен в соответствии с темной и светлой темой, но элемент адаптера (используется для RecyclerView
), который содержит textview
, который не изменилсяцвет.
Pref. XML:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:padding="@dimen/margin_medium"
android:forceDarkAllowed="true"
android:orientation="vertical">
<TextView
style="?attr/textAppearanceHeadline6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_medium"
android:textColor="@color/txt"
android:text="@string/preferences"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvList"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
Фрагмент:
public class PreferencesFragment extends Fragment {
static final String TAG = "PreferencesFragment";
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_preferences, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
RecyclerView rvList = view.findViewById(R.id.rvList);
rvList.setLayoutManager(new LinearLayoutManager(DarkThemeApplication.context, RecyclerView.VERTICAL, false));
rvList.setAdapter(new RVListAdapter());
}
class RVListAdapter extends RecyclerView.Adapter<RVListAdapter.ViewHolder> {
@NonNull
@Override
public RVListAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent,
int viewType) {
return new ViewHolder(LayoutInflater
.from(DarkThemeApplication.context).inflate(R.layout.row_txt, parent, false));
}
@Override
public void onBindViewHolder(@NonNull RVListAdapter.ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 50;
}
class ViewHolder extends RecyclerView.ViewHolder {
public ViewHolder(@NonNull View itemView) {
super(itemView);
}
}
}
}
Файл строки XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:forceDarkAllowed="true">
<TextView
android:id="@+id/switch1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/txt"
android:layout_margin="@dimen/margin_small"
android:text="asdasdasdas" />
</LinearLayout>