В настоящее время я пишу приложение для обмена сообщениями для своей гильдии, на данный момент я дошел до него, я могу войти в систему и переключаться между разными вкладками, в которых перечислены текущие фиктивные заголовки сообщений (например, шепотное имя). Позже моя цель состоит в том, чтобы, нажав на одно из сообщений, вы могли отвечать / читать сообщения в стиле WhatsApp (здесь также приветствуются советы).
Но моя текущая проблема заключается в том, что я использую меню навигации «Нижнее» . В настоящее время я меняю вкладки новыми действиями. Но всякий раз, когда я нажимаю кнопку, экран "мерцает", как будто происходит перезапуск всего приложения.
Есть ли способ переключить "плавную" верхнюю часть приложения, в то время как меню всегда остается красиво внизу ?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Support.Design.Widget;
using Android.Views;
using Android.Widget;
namespace GuildMaster
{
[Activity(Label = "Whisper")]
public class Whisper : Activity, BottomNavigationView.IOnNavigationItemSelectedListener
{
private ListView whisperlist;
private List<string> itemlist;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
BottomNavigationView navigation = FindViewById<BottomNavigationView>(Resource.Id.navigation);
navigation.SetOnNavigationItemSelectedListener(this);
whisperlist = FindViewById<ListView>(Resource.Id.whisper);
itemlist = new List<string>();
itemlist.Add("Tim");
itemlist.Add("Tom");
ArrayAdapter<string> whisper = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, itemlist);
whisperlist.Adapter = whisper;
whisperlist.ItemClick += Listnames_ItemClick;
// Create your application here
}
public void Listnames_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
Toast.MakeText(this, e.Position.ToString(), ToastLength.Long).Show();
}
public bool OnNavigationItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Resource.Id.navigation_home:
StartActivity(typeof(Whisper));
return true;
case Resource.Id.navigation_dashboard:
StartActivity(typeof(Guild));
return true;
case Resource.Id.navigation_notifications:
StartActivity(typeof(Other));
return true;
}
return false;
}
}
}