【发布时间】:2017-10-09 01:11:19
【问题描述】:
我尝试更改我的 xamarin 表单项目的 android 导航栏标题
我不能这样做 im app.xaml 因为当我在 pcl 中更改颜色时,它也会更改 ios 后退按钮,而且我不想要它...然后我已经尝试过:
<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>
<style name="MyTheme.ActionBarStyle"
parent="@android:style/Widget.Holo.Light.ActionBar">
<item
name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
</style>
<style name="MyTheme.ActionBar.TitleTextStyle"
parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#f08080</item>
</style>
我读到我需要在清单中添加一些东西,但我没有找到如何做到这一点......
没有错误,没有任何改变......
我的“主要活动”:
namespace neoFly_Montana.Droid
{
[Activity(Label = "neoFly_Montana", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = false, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
public static Context AppContext;
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
//qrcode inicializa
ZXing.Net.Mobile.Forms.Android.Platform.Init();
//inicializa imageCircle
ImageCircleRenderer.Init();
//inicializa o mapa
global::Xamarin.FormsMaps.Init(this, bundle);
//shared Preferences
App.Init(new AndroidUserPreferences());
//Gerenciador de memória
CachedImageRenderer.Init();
//AndroidUserPreferences sharedPref = new AndroidUserPreferences();
//var token = FirebaseInstanceId.Instance.Token;
//sharedPref.SetString("token", token); joyce descomentar
LoadApplication(new App());
}
// Field, property, and method for Picture Picker
public static readonly int PickImageId = 1000;
public TaskCompletionSource<Stream> PickImageTaskCompletionSource { set; get;
}
protected override void OnActivityResult(int requestCode, Result resultCode, Intent intent)
{
base.OnActivityResult(requestCode, resultCode, intent);
if (requestCode == PickImageId)
{
if ((resultCode == Result.Ok) && (intent != null))
{
Android.Net.Uri uri = intent.Data;
Stream stream = ContentResolver.OpenInputStream(uri);
// Set the Stream as the completion of the Task
PickImageTaskCompletionSource.SetResult(stream);
}
else
{
PickImageTaskCompletionSource.SetResult(null);
}
}
}
//qrcode permission
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
{
global::ZXing.Net.Mobile.Forms.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
}
如果我将主题更改为 MyTheme,则会出现此异常:
未处理的异常:Java.Lang.IllegalStateException:您需要在此活动中使用 Theme.AppCompat 主题(或后代)。
【问题讨论】:
-
您到底想改变什么?您是否只想更改标题文本颜色,而不更改其他文本颜色?如果您在问题中说明这一点,而不是让我们猜测,那将非常有帮助。
-
只有标题文字颜色
标签: android xaml xamarin mobile