我想将progressbar
添加到actionbar
,但是我不知道该怎么做
这是我的菜单项
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/btnUpdateInActionBarMain"
android:title="Barcode"
android:icon="@drawable/icoUpdate1"
android:showAsAction="always">
</item>
<item
android:id="@+id/btnSearch"
android:title="Search"
android:icon="@drawable/icoSearch"
android:showAsAction="always">
</item>
<item
android:id="@+id/btnBarcode"
android:title="Barcode"
android:icon="@drawable/icoBarcode"
android:showAsAction="always">
</item>
</menu>
这是我的OnCreateOptionsMenu()
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.action_bar, menu);
ActionBarMenu = menu;
return base.OnCreateOptionsMenu(menu);
}
我想显示一个progressbar
而不是btnUpdateInActionBarMain,我应该怎么做?
答案 0 :(得分:0)
在菜单中添加为
<item android:id="@+id/action_favorite"
android:icon="@drawable/yourIcon"
clasificados:showAsAction="always"
clasificados:actionViewClass="android.widget.ProgressBar"/>
答案 1 :(得分:0)
要在操作中添加progrssbar,您需要先将其添加到xaml文件中,如下所示
进度条xaml文件
<?xml version="1.0" encoding="utf-8"?>
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/progressBar2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ProgressBar>
菜单xml文件,在菜单中再添加一项
<item
android:id="@+id/menu_load"
android:icon="@drawable/navigation_refresh"
android:orderInCategory="200"
android:showAsAction="always"
android:title="Load"/>
您的活动
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
var actionBar =ActionBar;
actionBar.SetDisplayOptions(ActionBarDisplayOptions.ShowHome
| ActionBarDisplayOptions.ShowTitle,ActionBarDisplayOptions.ShowCustom);
}
此外,您需要为访问this
做更多的事情答案 2 :(得分:0)
尝试解决此问题几天后,我解决了它,也许它不是很漂亮,但是对我来说很好 所以这是我在菜单文件夹中的actionBar_progressBar.axml文件
<?xml version="1.0" encoding="utf-8"?>
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/progressBar2"
android:layout_width="38dp"
android:layout_height="38dp">
</ProgressBar>
这是我在菜单文件夹中的action_bar.xml文件
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/btnUpdateHolder"
android:title="Barcode"
android:icon="@drawable/icoUpdate1"
android:showAsAction="always">
</item>
<item
android:id="@+id/btnSearch"
android:title="Search"
android:icon="@drawable/icoSearch"
android:showAsAction="always">
</item>
<item
android:id="@+id/btnBarcode"
android:title="Barcode"
android:icon="@drawable/icoBarcode"
android:showAsAction="always">
</item>
</menu>
这是我在菜单文件夹中的actionBar_Update.axml文件
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="38dp"
android:layout_height="38dp"
android:id="@+id/btnUpdateInActionBarMain"
android:background="@drawable/icoUpdate1" />
所以我这样更改了OnCreateOptionsMenu():
private IMenu ActionBarMenu;
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.action_bar, menu);
ActionBarMenu = menu;
menuItem = ActionBarMenu.FindItem(Resource.Id.btnUpdateHolder);
menuItem.SetActionView(Resource.Menu.actionBar_progressBar);
menuItem.ExpandActionView();
return base.OnCreateOptionsMenu(menu);
}
在完成使图标恢复正常的工作后,我这样做
menuItem.SetActionView(Resource.Menu.actionBar_Update);
btnUpdate = FindViewById<Button>(Resource.Id.btnUpdateInActionBarMain);