如何在 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);
}
希望对您有所帮助。
我正在尝试更改 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);
}
希望对您有所帮助。