簡體   English   中英

單擊按鈕Xamarin時如何添加自定義視圖

[英]How do I add a custom view on click of a button Xamarin

我正在處理片段,需要單擊包含列表視圖的按鈕才能顯示自定義布局。 該自定義布局應顯示在該按鈕下方。 任何人都可以為此提出建議。我已經瀏覽了幾乎所有適用於xamarin的鏈接。 我們可以在Android中使用SetCustonView方法執行此操作,但不知道如何在C#中顯示它

以我的經驗,您可以做幾件事:

1)您可以將ListView放在按鈕下,但是將其“ Visibility”屬性設置為“ Visibility.Gone”。 按下按鈕后,您可以將“可見性”屬性設置為“可見性。可見”。

View.FindViewById<Button>(Resource.Id.MyButton).Click += (object sender, System.EventArgs e) =>
                {
                    View.FindViewById<ListView>(Resource.Id.MyListView).Visibility = Android.Views.ViewStates.Visible;
                };

2)另一個選擇是將ListView放在Fragment中。 單擊按鈕后,您將運行FragmentTransaction將Fragment添加到視圖中。

var fragTransaction = this.FragmentManager.BeginTransaction().Replace(Resource.Id.content_frame, myFrag, "current_frag");
fragTransaction.Commit();

我得到了一個更好的解決方案,以實現使用上述厚望下面是我實現的代碼

var buttonClick = FindViewById<Button>(Resource.Id.button);
PopupMenu menu = new PopupMenu(Activity, Resource.Id.button);
        menu.MenuInflater.Inflate(Resource.Menu.reports_nav_menu,                     menu.Menu);
        buttonClick .Click += (s, arg) => {
            menu.Show();
        };
        menu.MenuItemClick += (s1, arg1) => {
            DisplayMenuOptionsOnClick(s1, arg1);
        };

private void DisplayMenuOptionsOnClick(Object s1,PopupMenu.MenuItemClickEventArgs arg1) {
        switch (arg1.Item.TitleFormatted.ToString()) {
            case "Item 1":
                // Do Something
                break;
            case "Item 2":
                // Do Something
                break;
            case "Item 3":
                // Do Something
                break;

        }

    }

在您的資源->在菜單內以'菜單'(如果不存在)創建文件夾中,添加xml文件並添加以下代碼

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

  <item
      android:id="@+id/item_one"
      android:title="Item One"/>

  <item
      android:id="@+id/item_two"
      android:title="Item Two"/>

  <item
      android:id="@+id/item_three"
      android:title="Item Three"/>

</menu>

請在下面發表評論以進一步澄清。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM