如何在 Xamarin Android 的片段中设置 actionBar?

How to set actionBar in fragment on Xamarin Android?

我正在尝试更改 actionBar

上的颜色和图像图标

我已经尝试使用 OnAttach 但它不起作用。

如有任何帮助,我们将不胜感激。

您只能从 activity 操作操作栏。您可以在 OnAttach 方法的片段中执行此操作,以确保您具有对 activity.

的引用
public override void OnAttach(Activity activity)
{
    base.OnAttach(activity);
    var colorDrawable = new ColorDrawable(Color.White);
    activity.ActionBar.SetBackgroundDrawable(colorDrawable);

    var titleId = activity.Resources.GetIdentifier("action_bar_title", "id", "android");
    var abTitle = activity.FindViewById<TextView>(titleId);
    abTitle.SetTextColor(Color.Black);
}

经过 abit 测试后,我只能在片段 class:

中获得 OnActivityCreated 中的 ActionBar
    public override void OnActivityCreated (Bundle savedInstanceState) {
        base.OnActivityCreated (savedInstanceState);
        Activity activity = this.Activity;
        ActionBar actionBar = activity.ActionBar;
        var colorDrawable = new ColorDrawable(Color.Coral);
        activity.ActionBar.SetBackgroundDrawable(colorDrawable);

        var titleId = activity.Resources.GetIdentifier("action_bar_title", "id", "android");
        var abTitle = activity.FindViewById<TextView>(titleId);
        abTitle.SetTextColor(Color.Black);
    }

希望对您有所帮助。