我应该如何将进度条添加到 Xamarin.Android 中的操作栏?
How should I add progressbar to actionbar in Xamarin.Android?
我想将 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,我应该怎么做?
添加为您的菜单
<item android:id="@+id/action_favorite"
android:icon="@drawable/yourIcon"
clasificados:showAsAction="always"
clasificados:actionViewClass="android.widget.ProgressBar"/>
要添加 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"/>
你的activity
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
经过几天尝试解决这个问题后,我解决了它,也许它不是很漂亮,但它对我来说工作得很好
所以这是我在菜单文件夹
中的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);
我想将 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,我应该怎么做?
添加为您的菜单
<item android:id="@+id/action_favorite"
android:icon="@drawable/yourIcon"
clasificados:showAsAction="always"
clasificados:actionViewClass="android.widget.ProgressBar"/>
要添加 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"/>
你的activity
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
经过几天尝试解决这个问题后,我解决了它,也许它不是很漂亮,但它对我来说工作得很好 所以这是我在菜单文件夹
中的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);