我想为动作栏和不同配置中的MenuItem文本设置不同的颜色 - 横向和纵向。
我认为有一种方法可以在Color和Color-land中设置不同的颜色。我已经在样式中创建了一个自定义主题,如下所示
<style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light">
<item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
</style>
<style name="MyActionBar.MenuTextStyle"
parent="android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Menu">
<item name="android:textColor" >@color/button_color</item>
</style>
然后将color
资源中的颜色设置为黑色,将color-land
资源设置为白色。
这可以在配置更改时创建活动。
但是,在我的活动中创建活动时,首先会出现一个AlertDialog
,这会导致REST api调用,并且当从服务器获取数据时会跟随ProgressDialog
。
问题在于,当我改变配置时,活动将被重新创建,我将再次获得AlertDialog
。
如果我在清单<activity android:configChanges="orientation" />
中设置菜单项的颜色不会改变,因为活动永远不会再次创建,但它将避免AlertDialog
并保持活动状态。
我正在寻找一种方法来更改MenuItem
事件中的onConfigurationChanged
文字颜色。有什么方法可以做到吗?