मैंने Xamarin Android एप्लिकेशन में मेनू बनाया है। यह पहले पृष्ठ पर दिख रहा है, लेकिन PushAsync के बाद यह गायब हो जाता है। साथ ही पहले पृष्ठ पर लौटने के बाद यह और नहीं दिखा रहा है। यहाँ एक कोड है:
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity, IOnMenuItemClickListener
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
toolbar.InflateMenu(Resource.Menu.action_menu);
toolbar.SetOnMenuItemClickListener(this);
}
public bool OnMenuItemClick(IMenuItem item)
{
...
return true;
}
}
public App()
{
InitializeComponent();
MainPage = new NavigationPage(new MainPage());
}
public partial class MainPage : ContentPage
{
...
private async void OnSecondPageClicked()
{
await Navigation.PushAsync(new SecondPage());
}
}
फ़ाइल action_menu.xml:
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/item1"
android:title="new_game"
android:showAsAction="always"/>
<item android:id="@+id/item2"
android:title="help"
android:showAsAction="always"/>
</menu>
1 उत्तर
आपके पास Xamarin.Android ऐप और Xamarin.Forms ऐप का मिश्रण है। यह उत्तर मानता है कि आप एक फॉर्म ऐप चाहते हैं। आपको निम्न पंक्तियों को ऑनक्रेट से हटा देना चाहिए
var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
toolbar.InflateMenu(Resource.Menu.action_menu);
toolbar.SetOnMenuItemClickListener(this);
और इन पंक्तियों को MainPage के कंस्ट्रक्टर में जोड़ें
this.ToolbarItems.Add(new ToolbarItem("New Game", "", () => { }));
this.ToolbarItems.Add(new ToolbarItem("Help", "", () => { }));
यदि वह काम करता है तो आपको MainPage और App को अपने Cross Platform प्रोजेक्ट में ले जाना चाहिए।
संबंधित सवाल
नए सवाल
xamarin
Xamarin एक प्लेटफॉर्म है जिसमें Xamarin.iOS, Xamarin.Android, Xamarin.Mac और Xamarin. Cloud शामिल हैं। यह आपको आईओएस, एंड्रॉइड और मैक के लिए क्रॉस-प्लेटफॉर्म मूल एप्लिकेशन लिखने और अपने संपूर्ण जीवन चक्र के माध्यम से अपने ऐप का पालन करने की अनुमति देता है। Xamarin.Forms की शुरूआत iOS, Android और विंडोज के लिए मूल UI विकास का समर्थन करती है