正如在上面提到的標(biāo)題中那樣,在我將系統(tǒng)更新到Android 7.0之后,不會(huì)調(diào)用OnCreateOptionsMenu方法.
在更新之前,我使用的是Android 6.0,它沒(méi)有任何問(wèn)題.
如果我在6.0的另一部手機(jī)上測(cè)試它仍然有效(相同的代碼).
這個(gè)方法在Android 7.0上有什么問(wèn)題,或者我的代碼有問(wèn)題嗎?
我的MainActivity.cs的一部分,我設(shè)置了toolbar
[Activity(Label = "App", Icon = "@drawable/icon", MainLauncher = true, Theme = "@style/Theme.AppCompat.Light.NoActionBar",ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait)]public class MainActivity : AppCompatActivity{ protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); var toolbar = FindViewById<Android.Widget.Toolbar>(Resource.Id.toolbar); toolbar.SetTitleTextColor(Color.White); SetActionBar(toolbar); } public override bool OnCreateOptionsMenu(IMenu menu) { MenuInflater.Inflate(Resource.Menu.top_menu_start, menu); return base.OnCreateOptionsMenu(menu); }}
Main.axml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Toolbar android:id="@ id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#1D1D1D" android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar" /></RelativeLayout>
top_menu_start
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@ id/start_listview" android:icon="@drawable/icon_posts_list" android:showAsAction="ifRoom" android:title="startListview" /> <item android:id="@ id/start_pager" android:icon="@drawable/icon_posts_kacheln" android:showAsAction="ifRoom" android:title="startPager" /> <item android:id="@ id/doSomething" android:icon="@drawable/icon" android:showAsAction="ifRoom" android:title="doSomething" /></menu>
解決方法:
由于您使用的是AppCompatActivity,因此您應(yīng)該使用Android.Support.V7.Widget.Toolbar而不是Android.Widget.Toobar并調(diào)用SetSupportActionBar而不是SetActionBar.現(xiàn)在將調(diào)用您的OnCreateOptionsMenu.
OnCreate覆蓋:
base.OnCreate(savedInstanceState);SetContentView(Resource.Layout.Main);var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);toolbar.SetTitleTextColor(Color.White);SetSupportActionBar(toolbar);
Main.axml更新:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <android.support.v7.widget.Toolbar android:id="@ id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#1D1D1D" android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar"> </android.support.v7.widget.Toolbar>
來(lái)源:https://www.icode9.com/content-1-316001.html
聯(lián)系客服