Xamarin 如何在Android选项卡式页面上使用文本而不是图像
我尝试使用TabbedPageWithNavigationPage示例,如下所示: 但是,Droid项目的示例中没有settings.png页面,请参见:(应用程序优雅地返回到仅文本 在我的版本(从头开始构建)中,如果我没有包含settings.png文件,Droid版本将崩溃,并出现丢失资源错误 我肯定我错过了一些基本的东西…有什么想法吗 更新MainActivity.CS和App.xaml.CS:Xamarin 如何在Android选项卡式页面上使用文本而不是图像,xamarin,xamarin.android,xamarin.forms,Xamarin,Xamarin.android,Xamarin.forms,我尝试使用TabbedPageWithNavigationPage示例,如下所示: 但是,Droid项目的示例中没有settings.png页面,请参见:(应用程序优雅地返回到仅文本 在我的版本(从头开始构建)中,如果我没有包含settings.png文件,Droid版本将崩溃,并出现丢失资源错误 我肯定我错过了一些基本的东西…有什么想法吗 更新MainActivity.CS和App.xaml.CS: [Activity(Label = "AppZero.Droid", Icon = "
[Activity(Label = "AppZero.Droid", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
}
}
public partial class App : Application
{
public App()
{
InitializeComponent();
MainPage = new AppZeroPage();
}
protected override void OnStart()
{
// Handle when your app starts
}
protected override void OnSleep()
{
// Handle when your app sleeps
}
protected override void OnResume()
{
// Handle when your app resumes
}
}
更新2 App.xaml
说明
你的应用程序正在崩溃,因为你正在SettingsPage.xaml
:icon=“settings.png”
。但是,你的Android项目的/Resources/Drawable
文件夹中没有settings.png文件
有两个选项可以解决此问题:
SettingsPage.xaml
- 这将仅为选项卡使用文本并删除图像
/Resources/Drawable
文件夹中
- 这会将图像添加到您的选项卡中
Icon=“settings.png”
以下是SettingsPage.xaml
的更新版本,其中不包括图标
属性:
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="AppZero.SettingsPage" Title="Settings">
<ContentPage.Content>
<StackLayout>
<Label Text="Settings go here" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
修正2:将Settings.png添加到/Resources/Drawable
在/Resources/
中,有多个可绘制的
文件夹,每个文件夹都与不同的屏幕分辨率密度相关。您需要创建多个分辨率不同的png
文件,并将具有适当分辨率的png
文件添加到适当的文件夹中
以下是选项卡式页面图标的分辨率:
- 24×24(mdpi)
- 36×36(hdpi)
- 48×48(xhdpi)
- 72×72(xxhdpi)
- 96×96(xxxhdpi)
png
的分辨率应为48x48像素
Xamarin对Drawable folders很感兴趣。Hi Webjedi!你能为你的类发布实例化TabbedPage的代码吗?我想我知道这个问题,并会在看到你的代码后确认后发布我的答案。谢谢!这有帮助吗?我是XAML和Xamarin的新手,如果我错过了你需要看到的东西,请告诉我谢谢Webjedi!你也可以发布app.xaml文件中的代码吗?我添加了它Brandon。示例中没有app.xaml…和app.cs…这对我来说也很有趣。:)再次感谢!我只需要最后一件事:你也可以发布AppZeroPage.cs代码吗?对不起,所有的请求!那么,为什么Xamarin示例(第一个链接)有效呢?他们的SettingsPage.xaml还包含Icon=“settings.png”,他们的Droid应用程序在任何地方都没有settings.png。他们的导航链接只显示“设置”,您对示例应用的看法是正确的。可能是您遇到的错误与缺少的settings.png文件无关。让我们将这个问题标记为已回答,以帮助未来的开发人员,然后打开一个新问题,您可以在其中发布堆栈跟踪,我们将进一步调试它!你的回答肯定会让错误消失。我的错误真的消失了…虽然很奇怪。