这是我的代码:
<StackLayout>
<Label x:Name="emptyLabel1" FontSize="18" XAlign="Start" TextColor="Gray" />
<Label x:Name="emptyLabel2" FontSize="18" XAlign="Center" TextColor="Gray" />
<Label x:Name="emptyLabel3" FontSize="18" XAlign="Center" TextColor="Gray" />
</StackLayout>
Run Code Online (Sandbox Code Playgroud)
第一个多行标签从左侧开始,但在右侧的某些行上有空格.第2和第3个多行标签居中,左右两侧各有空格.
有没有什么方法可以让所有行的标签完全填满行,从左到右完全填充o每行的第一个字符总是在左边排成一行,每行的最后一个字的最后一个字符总是行在右边?请注意,这将需要每行中的一些单词在它们之间具有不同的间隙.
有没有办法在使用Xamarin Forms时指定要在选项卡上显示的"系统"图标?我想使用收藏夹,书签,历史等图标,但我不想为各种平台提供我自己的图像.
使用Xamarin.iOS可以使用以下语法:
tab1.TabBarItem = new UITabBarItem (UITabBarSystemItem.Favorites, 0);
Run Code Online (Sandbox Code Playgroud)
但是我无法在跨平台的Xamarin.Forms项目中找到如何做到这一点.
这是我目前的代码:
var profilePage = new ContentPage {
Title = "Profile",
//This requires my own images to be added to the project whereas
//I wish to use built-in images which are platform specific for
//Favourites, Bookmark, More, etc...
//Icon = "Profile.png",
Content = new StackLayout {
Spacing = 20, Padding = 50,
VerticalOptions = LayoutOptions.Center,
Children = {
new Entry { Placeholder = "Username" },
new Entry { Placeholder = "Password", …Run Code Online (Sandbox Code Playgroud) 我有这个代码,目前是和的组合
我想转向相对布局,并没有看到这么多的例子.将不胜感激任何关于如何实现这一目标的建议.
关于XAML的一些观点.
我意识到这不仅仅是一个简单的问题,但我相信其他人会感兴趣.由于答案可能非常复杂,我将在几天内为此开出250点奖金.
<Grid x:Name="emptyGrid" Grid.Row="1" Grid.Column="0" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<StackLayout Padding="10,0,10,0" HorizontalOptions="Center" VerticalOptions="Center">
<Label x:Name="emptyLabel" FontSize="18" XAlign="Center" TextColor="Gray" />
</StackLayout>
<Button x:Name="resetButton" Text="Reset points?" TextColor="White" FontAttributes="Bold" FontSize="20" HeightRequest="60" BackgroundColor="#E19A3F" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand">
<Button.FontSize>
<OnPlatform x:TypeArguments="x:Double" iOS="25" Android="20" />
</Button.FontSize>
</Button>
</Grid>
<Grid x:Name="phraseGrid" Padding="20, 20, 20, 20" BackgroundColor="Transparent" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<Grid.RowDefinitions>
<RowDefinition Height="6*" />
<RowDefinition Height="6*" />
<RowDefinition Height="80*" />
<RowDefinition Height="13*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid x:Name="prGrid" Grid.Row="0" Grid.Column="0"
Padding="5,0,0,0" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" …Run Code Online (Sandbox Code Playgroud) 使用 .NET v8.0.100-rc.1.23455.8 在 Windows 上构建 .NET MAUI 应用程序时,出现以下错误:
NETSDK1083:无法识别指定的 RuntimeIdentifier“win10-x64”
在.NET SDK错误列表中,没有太多关于此错误或如何解决它的信息:
NETSDK1083 无法识别指定的运行时标识符“{0}”。
我正在使用Xamarin.Forms实现OneSignal推送通知.
我需要将OneSignal返回的字符串传递AdditionalData给构造函数App().
所以我用来HandleNotificationOpened(OSNotificationOpenedResult result)处理通知点击并获取字符串,然后将其传递给LoadApplication(new App(myData)).
所以为此,我已经MainActivity为Android和AppDelegateiOS 编写了代码.
一切都适用于Android; 即HandleNotificationOpened()获取additionalData并传递给它LoadApplication(new App(myData)).
但是在iOS中,当我打开通知时,HandleNotificationOpened()代码不会被调用.
static string s = null;
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
OneSignal.Current.StartInit("MyKey").HandleNotificationOpened(HandleNotificationOpened).EndInit();
if(s!=null)
{
LoadApplication(new App(s));
}
else
{
LoadApplication(new App("myUrl.lasso"));
}
return base.FinishedLaunching(app, options);
}
private static void HandleNotificationOpened(OSNotificationOpenedResult result)
{
OSNotificationPayload payload = result.notification.payload;
Dictionary<string, object> additionalData = payload.additionalData;
if (additionalData != null)
{ …Run Code Online (Sandbox Code Playgroud) 今天我更新到Xamarin.Forms 2.5.0并看到,我得到以下警告:
警告CS0618'Forms.Context'已过时:'版本2.5后,上下文已过时.请改用当地语境.'
我怎样才能获得本地环境而不是Forms.Context?Android上下文意味着什么?
警告CS0618'ButtonRenderer.ButtonRenderer()'已废弃:'从2.5版开始,此构造函数已过时.请改用ButtonRenderer(Context).
在我,ButtonRenderer我只有OnElementChanged()方法,所以我应该在这里改变什么?只需添加一个ButtonRenderer(Context)构造函数?如果我在我的平台渲染器类中执行此操作,我仍然会收到警告.有人有例子吗?在官方文件没有提到它,谷歌也不会带来一些有用的结果,除了开源代码ButtonRenderer.此更改还涉及许多其他渲染器类.
有没有人经历过其他变化,制动插件等等?
PS:我也没有发现,什么时候Device.Windows被弃用了.现在我用它取而代之Device.UWP.
首先请注意,我正在使用Xamarin for Android,因此Android Java存在轻微的语法差异.我正在从我自己的Android应用程序中的活动启动谷歌地图应用程序.我已经想出了如何依次通过转向导航模式启动它,提供语音引导方向,跳过它通常默认的常规活动.但是,默认的地图活动确实会非常短暂地出现,然后再转向活动.我可以忍受这一点.
挑战在于用户必须多次点击后退按钮才能返回我的应用程序,而不是一次又一次地从转弯活动直接回到我的应用程序,这是我更喜欢的.我知道它为什么这样做,这很自然.我的应用程序有什么方法可以在语音导航模式下启动地图,但是在后台启动它可以让我的应用程序保持在前台吗?
我已经看到,如果我使用我的后退按钮返回我的应用程序,转弯的语音方向将停止.如果我使用手机底部的窗口图标查看我最近的所有应用程序,并在启动地图应用程序后将其带到前台,语音指示仍在继续,这就是我想要的,它甚至可以让我通知覆盖在我的上方应用程序很棒.当他想将我的应用程序带到前台时,我不想告诉用户使用该窗口图标,我不希望他使用后退按钮,因为它会停止语音指示.所以这是一个艰难的地方,我不会感到惊讶,如果这只是你必须忍受的那些电话行为之一,但我希望任何人都可以提供任何建议.甚至可能使它成为片段应用程序的一部分?但是,我只是得到他们的地图,还是我会得到完整的语音指示功能?我以为我只能从他们安装的应用程序中获取,而不是他们的库.谢谢阅读.
这是我目前的代码
public void StartNavigation(string lat, string lng)
{
String strUri = "google.navigation:q=" + lat + "," + lng;
Intent Intent = new Intent(Android.Content.Intent.ActionView, Android.Net.Uri.Parse(strUri));
//Intent.SetClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
Intent.SetPackage("com.google.android.apps.maps");
Application.Context.StartActivity(Intent);
}
Run Code Online (Sandbox Code Playgroud) 在我的XAML中,我有这个StackLayout:
<StackLayout x:Name="FooterWrapper"
Spacing="0"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand"
BackgroundColor="Transparent">
<BoxView BackgroundColor="Transparent"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand"
x:Name="can_applyComplete_topspace" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".07*" />
<ColumnDefinition Width=".86*" />
<ColumnDefinition Width=".07*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height=".40*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<controls:AndroidButton x:Name="can_applycomplete_gotitbtn"
Grid.Row="0"
Text="{Binding SkipButtonText}"
StyleId="uit_can_applycomplete_gotitbtn"
FontFamily="Avenir Next"
BackgroundColor="White"
Grid.Column="1"
HorizontalOptions="FillAndExpand"
VerticalOptions="Fill"
TextColor="Black"
Clicked="Handle_SkipClicked" />
<controls:CustomLabel Grid.Row="1"
Grid.Column="1"
Text="{i18n:TranslateExtension Text= res_cand_candjobcompliance_profilereachedlbl_list_footer}"
VerticalOptions="Center"
IsVisible="{Binding IsFooterVisible}"
x:Name="cand_candjobcompliance_profilereachedlbl_list_footer"
StyleId="uit_cand_candjobcompliance_profilereachedlbl_list_footer"
TextColor="White"
FontSize="13" />
</Grid>
</StackLayout>
Run Code Online (Sandbox Code Playgroud)
我需要动态控制StackLayout的高度
在OnAppearing中,我为stacklayout设置了特定的高度
FooterWrapper.HeightRequest = 196
Run Code Online (Sandbox Code Playgroud)
在iOS工作中,My new Height设置为视图但在android中我的高度被忽略.
在 Azure Functions 中使用NuGet.Protocol NuGet 包时,出现以下错误:System.Private.CoreLib: Could not load file or assembly。
[4/18/2020 8:51:43 AM] The 'Function1' function is in error: Unable to load one or more of the requested types.
[4/18/2020 8:51:43 AM] Could not load file or assembly 'NuGet.Protocol, Version=5.5.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
[4/18/2020 8:51:43 AM] Microsoft.Azure.WebJobs.Host: Error indexing method 'Function1'. System.Private.CoreLib: Could not load file or assembly 'NuGet.Protocol, Version=5.5.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified. …Run Code Online (Sandbox Code Playgroud) 我们的应用程序显示类别组列表:
List<CategoryGroupWordCountVM> categoryGroups;
Run Code Online (Sandbox Code Playgroud)
在屏幕上它看起来像这样:
运动23 [开启]
爱好5 [开启]
国家55 [开启]
职业0 [关闭]
行对象如下:
public class CategoryGroupWordCountVM : ObservableProperty {
public int Id { get; set; }
public string Name { get; set; }
public bool IsToggled { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
页面XAML:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:Japanese;assembly=Japanese" x:Class="Japanese.CategoryGroupPage" x:Name="CategoryGroupPage">
<ContentPage.Content>
<TableView x:Name="tableView" Intent="Settings">
</TableView>
</ContentPage.Content>
</ContentPage>
Run Code Online (Sandbox Code Playgroud)
行XAML:
<ViewCell
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Japanese.MyViewCell">
<Grid>
<Label Text = "{Binding Name}" />
<Label Text = "{Binding TotalWordCount}" />
<Switch IsToggled = "{Binding IsToggled}" />
</Grid> …Run Code Online (Sandbox Code Playgroud) xamarin ×8
c# ×4
.net ×2
android ×1
google-maps ×1
maui ×1
nuget ×1
onesignal ×1
xamarin.ios ×1