Android显示颜色与ViewModel类不同>>

问题描述 投票:0回答:1

我正在尝试获取colors.xml中声明的颜色值,并尝试从ViewModel类获取。在ViewModel类中,颜色显示正确,但是当我在模拟器上运行应用程序时,颜色显示会有所不同。我使用MutableLiveData从colors.xml获取颜色值。您是否有任何想法可以从ViewModel获得正确的颜色?

非常感谢

screen_1

screen_2

这是我的代码

public View onCreateView(@NonNull LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {
    root = inflater.inflate(R.layout.fragment_timetable, container, false);

    TimeTableViewModel timeTableViewModel = ViewModelProviders.of(this).get(TimeTableViewModel.class);
timeTableViewModel.get_text_bg_red().observe(getViewLifecycleOwner(), new Observer<Integer>() {
        @Override
        public void onChanged(Integer integer) {
            mon_textView_10.setBackgroundColor(integer);
            mon_textView_11.setBackgroundColor(integer);
        }
    });
return root;
}

public class TimeTableViewModel extends ViewModel {

private MutableLiveData<Integer> text_bg_red;

public TimeTableViewModel() {

    text_bg_red = new MutableLiveData<>();
    text_bg_red.setValue(R.color.colorAccent);
}

LiveData<Integer> get_text_bg_red(){
    return text_bg_red;
}}

我正在尝试获取colors.xml中声明的颜色值,并尝试从ViewModel类获取。在ViewModel类中,颜色正确显示,但是当我在模拟器上运行应用程序时,颜色...

android mvvm viewmodel android-viewmodel android-color
1个回答
0
投票

在您的活动XML或Android Manifest(活动声明)中,检查您正在使用的主题,该主题可能会被其他具有colorAccent的主题覆盖。如果不是,请尝试将colorAccent重命名为其他名称,例如colorBgRed,然后重建并尝试。

© www.soinside.com 2019 - 2024. All rights reserved.