Xamarin Forms上的按钮视图在部署到Android时似乎得到了额外的填充。我已在Android项目下将Resources / values / styles.xml设置为默认情况下,所有间距,填充和边距均为0,但仍然应用了额外的填充:
<item name="android:radius">0.0px</item>
<item name="android:shadowRadius">0.0</item>
<item name="android:spacing">0.0px</item>
<item name="android:padding">0.0px</item>
<item name="android:layout_margin">0.0px</item>
Run Code Online (Sandbox Code Playgroud)
请查看以下比较,以了解我在说什么(左侧的iOS,右侧的Android)。请注意,iOS中的视图如何彼此齐平(应如此),而Android中则存在多余的空白。显示内容由绝对布局和堆栈布局,几个按钮和一个标签(长标签)的组合组成。不必担心iOS示例中的尺寸和排列不完美;这是故意的。iOS的显示正是我希望它们都看起来的样子。
理想情况下,我想要一个Android风格或一个简单的“一刀切”的所有代码段,这些代码段可用于消除Android的固定间距。在两个设备上的视图上均以编程方式设置了边距,间距和填充,因此这不应成为问题的根源。
请注意,我将C#与Xamarin表单结合使用-而不是XAML。因此,请提供适用于两者的答案,或者至少适用于Xamarin Forms的纯编程实现的答案。
这是另一个示例(左侧为iOS,右侧为Android)。最外面的布局是一个网格,包含六个非布局视图(两个按钮,两个标签和两个条目),以及底部的堆栈布局(它又包含一个按钮,一个标签和一个条目)。从颜色的差异可以看出,除了按钮之外,其他所有内容都正确排列。仅使用视图边距设置对齐方式;默认间距和填充全部归零(来自Android样式,请参见上文)。
我可以从 Microsoft Azure Functions 应用程序仪表板将环境变量注入 Azure Functions 应用程序:
使用System.Environment.GetEnvironmentVariable("AppName"),我可以检索配置的值:
[FunctionName("Status")]
public static async Task<IActionResult> Status(
[HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequest req)
{
var appName = System.Environment.GetEnvironmentVariable("AppName");
return new OkObjectResult($"{appName} - OK");
}
Run Code Online (Sandbox Code Playgroud)
但我希望环境变量来自 Azure DevOps Pipeline Variables 作为发布管道的一部分,以便该值可以与特定版本、范围等相关联:

如何才能做到这一点?能做到吗?