Как открыть контентные страницы через меню навигации в родном примере проекта Xamarin - PullRequest
1 голос
/ 11 октября 2019

Я новичок в Xamarin и создаю нативное приложение. Я видел много сайтов, объясняющих левое меню навигации, но они не объясняют, как открывать другие страницы.

Я хотел показать страницы с различным содержанием при клике по навигации.

  1. На одномНажать кнопку Показать только текст.
  2. Другие кнопки Показать галерею.

Скажите, пожалуйста, как мне это сделать.

Заранее спасибо !!!

1 Ответ

1 голос
/ 14 октября 2019

В Xamarin.Android, когда вы хотите перейти к новому макету, вы можете выполнить следующие шаги:

  1. Создать макет в Resource/Layout folder и создать acticity.cs впроект приложения

    TextLayout.xml
    
    <TextView
    android:id="@+id/tv_Text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
    
    GralleryLayout.xml
    
    <ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
    
  2. Добавьте элемент управления в основной макет.

    <Button
    android:id="@+id/btn_TextLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Text Layout"/>
    <Button
    android:id="@+id/btn_GralleryLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/btn_TextLayout"
    android:text="Grallery Layout"/>
    
  3. Добавьте приведенный ниже код, чтобы перейти к желаемому действию.

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.activity_main);
    
        var btn_TextLayout = FindViewById<Button>(Resource.Id.btn_TextLayout);
        btn_TextLayout.Click += Btn_TextLayout_Click;
    
        var btn_GralleryLayout = FindViewById<Button>(Resource.Id.btn_GralleryLayout);
        btn_GralleryLayout.Click += Btn_GralleryLayout_Click;
    }
    
    private void Btn_GralleryLayout_Click(object sender, System.EventArgs e)
    {
        var intent = new Intent(this, typeof(GralleryActivity));
        StartActivity(intent);
    }
    
    private void Btn_TextLayout_Click(object sender, System.EventArgs e)
    {
        var intent = new Intent(this, typeof(TextActivity));
        StartActivity(intent);
    }
    
  4. Открыть представление TextLayout и GralleryLayout.

    TextActivity.cs
    
    SetContentView(Resource.Layout.TextLayout);
    var tv_Text = FindViewById<TextView>(Resource.Id.tv_Text);
    tv_Text.Text = "Only the text";
    
    GralleryActvity.cs
    
     var ImageView = FindViewById<ImageView>(Resource.Id.imageView1);
        ImageView.SetImageResource(Resource.Drawable.pig);
    

Результат:

enter image description here

Вы можете загрузить его с Android/App1 folder на GitHub для справки. https://github.com/WendyZang/Test.git

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...