我正在使用基于片段的导航,每个片段都有自己的工具栏。
导航到片段时,我希望后退按钮显示在工具栏中。
我已按如下方式覆盖了OnCreateView方法:
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var ignored = base.OnCreateView(inflater, container, savedInstanceState);
var view = this.BindingInflate(_fragmentId, null);
_toolbar = view.FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
if (_toolbar != null)
{
ParentActivity.SetSupportActionBar(_toolbar);
ParentActivity.SupportActionBar.Title = _title;
ParentActivity.SupportActionBar.SetDisplayHomeAsUpEnabled(true);
_drawerToggle = new MvxActionBarDrawerToggle(
Activity,
(ParentActivity as MainView).DrawerLayout,
_toolbar,
Resource.String.drawer_open,
Resource.String.drawer_close);
(ParentActivity as MainView).DrawerLayout.AddDrawerListener(_drawerToggle);
}
return view;
}
SetDisplayHomeAsUpEnabled(true)应该根据许多其他堆栈溢出答案将按钮更改为后退按钮,但是这不起作用,如以下屏幕截图所示:
当我导航到片段时,我已经检查过SetDisplayHomeAsUpEnabled(true)行。
作为参考,我使用Xamarin和MvvmCross。
在使用基于片段的导航时,如何将工具栏更改为向上/向后按钮?
答案 0 :(得分:1)
解决了它:
DrawerToggle以某种方式覆盖了工具栏设置。添加以下行可以解决问题。
//
//
//
const compiler = webpack({
entry: path.resolve(__dirname, 'js', 'app.js'),
module: {
loaders: [
{
test: /\.js$/,
include: [ path.resolve(__dirname, "js") ],
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['react', 'es2015', 'stage-0'],
},
}
],
},
output: {filename: '/app.js', path: '/', publicPath: '/js/'}
});
const appServer = new WebpackDevServer(compiler, {
contentBase: '/public/',
proxy: {'/graphql': 'http://localhost:8000'},
publicPath: '/js/',
stats: {colors: true}
});
//
//
//
答案 1 :(得分:0)
我对Xamarin不太熟悉。尝试使用 ParentActivity.SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_menu_white_24dp); 设置指标。这可能有所帮助。