我想创建一个类似于任务栏上的图标的解决方案,单击后它将作为任务栏上方的小弹出窗口打开,不会中断用户或类似于底部显示的 Microsoft People 应用程序的其他窗口如下图所示:

这个问题的标题与我的问题类似,但主题不同,提问者要求 UWP 应用程序的 AppBar,这不是我的意图。 其他问题
对于普通开发者、企业公司或微软合作伙伴来说,有没有办法做到这一点?
我试图以Xamarin形式将Android页面的标题集中在一起.我可以访问工具栏并能够设置字体系列.但我无法将文本对齐或重力设置为居中.
var context = (Android.App.Activity)Forms.Context;
var toolbar = context.Resources.GetIdentifier("toolbar", "id", context.PackageName);
var view = context.FindViewById(toolbar);
我尝试了以下方法:
ForegroundGravity
view.SetForegroundGravity(GravityFlags.Center);
Run Code Online (Sandbox Code Playgroud)
文字对齐
view.TextAlignment = Android.Views.TextAlignment.Center;
Run Code Online (Sandbox Code Playgroud)
访问工具栏的子项并设置方向和对齐方式.
if (view is ViewGroup)
{
var g = view as ViewGroup;
for (var i = 0; i < g.ChildCount; i++)
{
SetTypefaceToAllTextViews(g.GetChildAt(i), typeface);
g.GetChildAt(i).TextAlignment = Android.Views.TextAlignment.Center;
g.GetChildAt(i).TextDirection = TextDirection.Rtl;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,我没有直接访问标题的严重性.
编辑#1:
我在转换视图后添加了这段代码,我可以看到字体正在改变但是由于某种原因它不会被居中或任何其他对齐
if (view is TextView)
{
var tv = view as TextView;
tv.Typeface = typeface;
tv.TextAlignment = Android.Views.TextAlignment.Center;
tv.Gravity = GravityFlags.CenterHorizontal;
}
Run Code Online (Sandbox Code Playgroud)
编辑#2: 我能够根据下面的答案添加以下效果,它以某种方式将元素集中在一起但不完全在中心.不知怎的,它位于中心的右侧,除非右侧和左侧的工具栏中有2个图标,那么标题将真正居中.在Android …
在 android 物理设备中调试 xamarin 表单应用程序时,我遇到了一个奇怪的问题。
该应用程序进入中断模式,这是我收到的输出:
Mono.Android[0xd6be8960] -> System[0xd6be9680]: 14
11-24 23:44:44.098 I/Choreographer(18685): Skipped 930 frames! The application may be doing too much work on its main thread.
Thread started: <Thread Pool> #8
Thread started: <Thread Pool> #9
11-24 23:44:44.807 D/Mono (18685): Assembly Ref addref Mono.Security[0xc17989e0] -> System[0xd6be9680]: 15
Thread started: <Thread Pool> #10
An unhandled exception occured.
Run Code Online (Sandbox Code Playgroud)
我尝试了许多解决方案,例如允许应用程序中的网络访问,确保所有需要的包都在那里,例如:
Microsoft.Bcl.Build
Microsoft.net.HTTP
Newtonsoft.json
Run Code Online (Sandbox Code Playgroud)
这是我在 UWP 中运行良好的代码 var request = new HttpRequestMessage();
request.RequestUri = new Uri("https://jsonplaceholder.typicode.com/users");
request.Method = HttpMethod.Get;
request.Headers.Add("Accept", "application/json");
var …Run Code Online (Sandbox Code Playgroud) 我添加了这一行以在 HTTP 客户端中不应用缓存
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.CacheControl.NoCache = true;
Run Code Online (Sandbox Code Playgroud)
当我运行之前运行良好的应用程序时,我在第二行中收到此异常:
NullReferenceException:未将对象引用设置为对象的实例
我试过这是应用运行良好的 NoChache 标志,但我不确定它是否符合预期。
HttpClient httpClient = new HttpClient()
{
DefaultRequestHeaders=
{
CacheControl = CacheControlHeaderValue.Parse("no-cache, no-store"),
Pragma = { NameValueHeaderValue.Parse("no-cache")}
}
};
Run Code Online (Sandbox Code Playgroud)
请帮助我应用正确的方法来设置 NoCache 标志。