我的应用中有一些活动。它有主题android:theme="@android:style/Theme.Holo.Light.NoActionBar"
在AndroidManifest.xml中。此活动是片段的容器,其中只有<fragment>
个标记。
所以,我从这个代码首先开始另一个片段:
Fragment newFragment = new WelcomeStep2Fragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(android.R.id.content, newFragment);
transaction.addToBackStack(null);
transaction.commit();
所以,在第二个片段中我想显示ActionBar。我有自己的主题
<style name="AppThemeColoredActionBar" parent="@android:style/Theme.Holo.Light">
但是当我写作
getActivity().setTheme(R.style.AppThemeColoredActionBar);
getActivity().getActionBar().setLogo(getResources().getDrawable(R.drawable.ic_back_on_action_bar));
它没有用。但是,我知道这段代码无法正常工作。那么,有没有办法从第二个片段更改活动样式和徽标?
答案 0 :(得分:0)
没办法。因为 为此上下文设置基本主题。请注意,应该在Context中实例化任何视图之前调用它(例如在调用setContentView(View)或inflate(int,ViewGroup)之前)。 (http://developer.android.com/reference/android/view/ContextThemeWrapper.html#setTheme(int))