有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何以编程方式在片段中设置主题?

我写了一个代码,为活动设置主题(R.style.darkTheme)但我不知道如何用片段活动来设置主题。代码用于活动

if(sharedPref.loadNightModeState()==true)
        {
            setTheme(R.style.darkTheme);

        }
        else {
            setTheme(R.style.AppTheme);
        }

这是我的风格。xml

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="backgroundcolor">@color/background</item>
        <item name="textcolor">@color/textcolor</item>
        <item name="buttoncolor">@color/red</item>

    </style>
    <style name="darkTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">#212121</item>
        <item name="colorPrimaryDark">#000000</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="backgroundcolor">#303030</item>
        <item name="textcolor">@color/white</item>
        <item name="buttoncolor">@color/red</item>
    </style>
</resources>

这是我的片段代码

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.fragment_state, container, false);
        sharedPref=new SharedPref(getActivity());

        if(sharedPref.loadNightModeState()==true)
        {
            setTheme(R.style.darkTheme);

        }
        else {
            setTheme(R.style.AppTheme);
        }
        return  view;
    }

setTheme(R.style.AppTheme)行中出现错误


共 (0) 个答案