В верхнем левом углу основной активности моего приложения Xamarin для Android (с использованием API 23) в настоящее время у меня есть простой текст, который задается с помощью команды ниже.
[Activity(Label = "Activity Name", MainLauncher = true, Icon = "@drawable/appIcon", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, ScreenOrientation = ScreenOrientation.Portrait)]
Эта строка помещается непосредственно перед
public class MainActivity : Activity
{
// code for main activity
}
, и в результате я вижу текст «Имя действия» в верхнем левом углу моего приложения.
Мне было интересно, как я могу использовать изображение вместо этого в левом верхнем углу.Я видел, что свойство Label класса Activity принимает только строку, поэтому изменение Label не будет работать.Но я видел приложения, у которых есть значок или изображение, а не имя действия, поэтому мне было интересно, как это сделать?
РЕДАКТИРОВАТЬ
У меня естьпробовал со следующими строками в методе OnCreate () MainActivity:
var actionBar = this.ActionBar;
actionBar.SetIcon(Resource.Drawable.appIcon);
actionBar.SetLogo(Resource.Drawable.appIcon);
//actionBar.SetIcon(Resources.GetDrawable(Resource.Drawable.appIcon));
, но ни одна из них не работает.Там нет ошибки, он просто не показывает изображение, а только оригинальный текст, который я передал в качестве метки (в моем примере «Название деятельности»).Я также попытался полностью удалить ярлык, потому что думал, что он может занять все пространство, где предполагается показывать изображение, но это все еще не решает мою проблему.Я сделал это, добавив также:
actionBar.SetDisplayShowTitleEnabled(false);
Я уверен, что это правильное место для кода, так как, если я использую actionBar.Subtitle, я вижу, что субтитр добавлен правильно в панели действий.Не уверен, что это уместно, но у меня также есть следующее в AssemblyInfo.cs
[assembly: Application(Theme = "@android:style/Theme.Material.Light")]
. Как уже упоминалось, я использую Xamarin и API 23, чтобы сделать сравнение моего приложения с Android 6.0 +.