问题标签 [xamarin.droid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1190 浏览

c# - 使用 Xamarin.Forms/Xamarin.Droid 具有稳定布局的可切换全屏

我正在制作一个必须能够在两种视图模式之间切换的应用程序:

  • 全屏:视图应该显示在整个屏幕上,没有标题栏/导航栏/操作栏。
  • 半全屏:视图仍应填满整个屏幕,但标题/导航/操作栏现在应出现在视图前面,根本无需调整视图大小。

为了测试在这两种模式之间切换的行为,我创建了一个简单的测试项目,每两秒在这两种模式之间切换一次。

全屏模式按预期工作,但半全屏模式存在两个问题,如下图所示:

  1. 视图内容(带有五行文本的标签)被下推。我希望它保持在屏幕顶部,部分隐藏在系统栏后面。
  2. 操作栏显示在状态栏的后面。我希望它显示在状态栏下方。

为了获得我想要的行为,我需要改变什么?(我假设必须在 Page1.xaml.cs 或 MainActivity.cs 的 ToggleFullscreen 函数中进行更改)

在此处输入图像描述

我的代码如下所示:

应用程序.xaml.cs

Page1.xaml

Page1.xaml.cs

MainActivity.cs

0 投票
2 回答
102 浏览

android - 使用 Xamarin.iOS 和 Xamarin.Droid 创建本机自定义控件

我需要创建一个原生 Android 自定义控件,Java 开发人员可以在原生 Java Android 应用程序中使用它,还需要创建一个原生 iOS 自定义控件,iOS 开发人员可以在他们的 Swift 或 Objective-C iOS 项目中使用。

这可以使用 Xamarin.Droid 和 Xamarin.iOS 来完成吗?

我找到了几篇关于如何在 Xamarin 中使用第三方自定义控件的文章,但没有关于如何为 Android 和 iOS 创建另一个自定义控件的文章。

我知道我不能有一个针对两者的单一代码库,我想要的是能够创建两个“项目”,一个是 Xamarin.Droid 项目,另一个是 Xamarin.iOS 项目,分别生成一个Android 自定义控件和 iOS 自定义控件。

我肯定是走错了路,因为我什么也没找到。

0 投票
1 回答
476 浏览

xamarin.forms - 如何在 android 中的 Xamarin.Forms 自定义滑块上正确对齐滑块的拇指?

我正在尝试在 Xamarin.Forms 中创建一个自定义滑块,为此我创建了一个自定义渲染器

在这里,我加载了两个 xml 文件,一个progress bar用于滑块,另一个用于滑块的拇指。Progress bar从中加载custom_progressbar_styleThumb正在从它们中加载custom_thumb它们都放置在Resource/drawable.

Progress bar xml content:

Thumb xml:

我已经修复了10dp导致滑块拇指对齐问题的自定义滑块的高度。你能建议我如何克服这个对齐问题。在此处输入图像描述

0 投票
1 回答
234 浏览

c# - xamarin 方法 GetOrCreateRenderer() 的替代方法

尝试使用方法GetOrCreateRenderer()但视觉工作室说它不包含对此的定义。也许它已在较新版本中被删除,或者我没有使用正确的命名空间?

0 投票
1 回答
555 浏览

c# - 打开软键盘时如何防止特定的 Xamarin View 向上滚动?

我有以下 xamarin 布局架构:

iOS 行为如我所愿(这是一个聊天布局,所以顶部栏有我希望一直可见的图片和用户名),但 android 行为是向上滚动整个页面并且只保持 ScrollView 的条目和底部可见,即几乎是我需要的,但 Top Grid 正在消失。只有 Srollview 和底部网格必须滚动。

我怎样才能做到这一点?

编辑 1

示例项目:

https://wetransfer.com/downloads/46b455cb7148189a0d1f84affa77b7e120210428144025/02b001