![](/img/trans.png)
[英]Listview Click Item Click Listener doesnt trigger in xamarin.android
[英]Xamarin.Android ActionBar logo click listener
我要处理我的自定义徽标,请单击ActionBar。
<style name="ReadingsActionBarTheme"
parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/Readings.ActionBar</item>
<item name="logo">@drawable/back</item>
<item name="android:logo">@drawable/back</item>
样式
我必须在Android 4.4上编译,这是我尝试的方法:
public override bool OnOptionsItemSelected(Xamarin.ActionbarSherlockBinding.Views.IMenuItem item)
{
switch (item.ItemId)
{
case Android.Resource.Id.Home:
var homeActivity = new Intent(this, typeof(HomeActivity));
StartActivity(homeActivity); ;
break;
}
return base.OnOptionsItemSelected(item);
}
有什么办法吗?
我要处理我的自定义徽标,请单击ActionBar。
您可以按照以下步骤操作,以在ActionBar上单击图标;
首先,请确保您使用Android.Support.V7.App.AppCompatActivity
如果没有,请安装Xamarin.Android.Support.v7.AppCompat
通过的NuGet和继承您的活动AppCompatActivity
。
其次,请在Resource\\menu\\actionbar_items.xml
定义菜单项:
<?xml version="1.0" encoding="utf-8" ?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_favorite" android:icon="@drawable/iconName" android:title="favorite" app:showAsAction="ifRoom"/> </menu>
在OnCreateOptionsMenu
膨胀菜单:
public override bool OnCreateOptionsMenu(IMenu menu) { MenuInflater.Inflate(Resource.Menu.actionbar_items, menu); return base.OnCreateOptionsMenu(menu); }
处理OnOptionsItemSelected
的项目单击事件:
public override bool OnOptionsItemSelected(IMenuItem item) { switch (item.ItemId) { case Resource.Id.action_favorite: //do something break; } return base.OnOptionsItemSelected(item); }
这是完整的活动:
[Activity(Label = "ActionbarClickDemo", MainLauncher = true,Theme ="@style/AppTheme")]
public class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
Android.Support.V7.Widget.Toolbar myToolbar = (Android.Support.V7.Widget.Toolbar)FindViewById(Resource.Id.my_toolbar);
SetSupportActionBar(myToolbar);
}
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.actionbar_items, menu);
return base.OnCreateOptionsMenu(menu);
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Resource.Id.action_favorite:
//do something
break;
}
return base.OnOptionsItemSelected(item);
}
}
这是AppTheme:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>
有关创建ActionBar的信息,请参阅设置应用程序栏 。
有关将项目添加到ActionBar的信息,请参阅添加视图和操作提供程序
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.