Reputation: 977
I'm using Xamarin Forms, i removed my icon, now I want to put the Action Bar Title at center, actually it's on left.
I saw some pages saying to I use getSupportActionBar()
but this is not found on my visual studio, I'm trying to remove it on my Style.xml or on my MainActivity.
MainActivity.XML
using System;
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
namespace App5.Droid
{
[Activity(Label = "App5", Icon = "@drawable/icon", Theme = "@style/CustomActionBarTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
ActionBar.SetIcon(Android.Resource.Color.Transparent);
LoadApplication(new App());
}
}
}
Style.xml:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">#000000</item>
</style>
</resources>
Upvotes: 1
Views: 2888
Reputation: 126445
Working with Xamarin
, the only way is programatically:
LinearLayout lLayout = new LinearLayout(activity);
lLayout .SetGravity(GravityFlags.CenterVertical);
lLayout .LayoutParams textViewParameters =
new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent);
textViewParameters.RightMargin = (int)(30 * activity.Resources.DisplayMetrics.Density);
TextView myTitle = new TextView(activity);
myTitle.Text = text;
myTitle.Gravity = GravityFlags.Center;
lLayout.AddView(myTitle ,textViewParameters);
ActionBar.LayoutParams actionbarParams = new ActionBar.LayoutParams(ActionBar.LayoutParams.MatchParent,ActionBar.LayoutParams.MatchParent);
activity.ActionBar.SetCustomView(lLayout, actionbarParams);
Upvotes: 1