问题标签 [custom-renderer]
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.
android - Xamarin 视频播放器组件在 Android 上拉伸视频
我有一个 Xamarin 表单项目,我需要在网格内显示视频,所以我购买了这个视频播放器组件:Octane VideoPlayer
它在 IOS 上运行良好,但在 android 中它不尊重纵横比,许多视频都被拉伸了。
我为此视频播放器尝试了自定义渲染,但没有任何变化,当我设置断点时,我发现渲染代码永远不会到达。
我错过了什么吗?
例子
CS:
自定义渲染:
**
xamarin - 将 MPVolumeView 包装在 2 个堆栈布局中 (Xamarin.IOS)
我正在创建一个基于通用视图的控件,该视图与基于 iOS MPVolumeView 的自定义渲染器一起使用,这是一个简单的控件,允许您在应用程序中选择音频的备用输出路由(即蓝牙扬声器)。如果我包装在单个堆栈布局中,则代码工作得很好,但如果它在两个堆栈布局中则不行。我的 XAML 看起来像这样......非常基本:
这是我的自定义渲染器的胆量:
使用此 XAML 和代码,当我将页面异步推送到导航堆栈时,页面甚至不会显示。如果我删除其中一个 StackLayouts,它可以正常工作。
我将 CustomRenderer 中的 IOS 控件更改为一个简单的 UILabel 并且效果很好......所以看起来它与将 MPVolumeView 放在 2 StackLayouts 中有关。由于我的应用程序的布局要求,我需要能够做到这一点,而且为什么 1 StackLayout 很好,但 2 不是,而且仅适用于这个本机控件,这没有任何意义。
有任何想法吗?
c# - 如何为 Xamarin 表单标签添加边框?
您好 Xamarin Forms 用户,
我已经发现 Xamarin Froms 不支持开箱即用的标签边框。所以经过一番搜索后仍然不知道如何使它成为可能。是否可以使用自定义渲染器添加边框?如果是这样,有人有例子吗?如果没有,是否有人有任何其他开箱即用的想法来实现这一点。
先感谢您
android - Xamarin Android Custom MasterDetailPage 在页面推送到详细页面(即 NavigaionPage)时未调用 OnLayout
并在 Xamarin Forms Android 项目中创建了一个自定义渲染器。我得到了要构建的项目和按预期打开/关闭的菜单以及显示起始详细信息页面。
详细信息页面是 Xamarin.Forms 中的“NavigaionPage”,它实际上只是一个带有一堆代码的 ViewGroup,以使其与 Push/Pop 函数一起使用。
当我推送一个具有自定义渲染器和原生 RelativeLayout 作为子视图的新页面时,页面显示为空白,直到我旋转方向。
在对代码进行一些研究之后,我意识到 OnMeasure 和 OnLayout 都没有在被推送到 NavigationPage / 详细信息页面的页面中调用(推送页面的大小停留在 0x0 直到方向改变)。
我创建了另一个自定义渲染器,但这次是为 NavigationPage 创建的,如下所示:
这个用于详细信息页面/NavigaionPage 的自定义渲染器适用于我推送的页面中的 3 个。
主要/最重要的页面没有完全添加所有的 UI 元素。
被推送但缺少 UI 的页面有一些 UI。以下是页面显示方式的列表:
--- SongViewerLayout : 相对布局
------ 相对布局
--------- ViewerTopBar(绘制除一个以外的所有按钮)
--------- DocumentView(顶部栏和分页之间的空白白点)
--------- ViewerPagination(绘制背景颜色但不绘制页面按钮)
如果我更改方向,缺少的按钮会出现在顶部栏中,页码会显示,并且文档视图会被绘制,但它已关闭。
如果我返回使用 Xamarin.Forms 提供的 MasterDetailPage,则 UI 将按预期加载。
我研究了 Xamarin.Forms 存储库中的代码,但没有一个真正适用于所添加元素的内部工作。换句话说,详细信息页面(在我的例子中是 NavigationPage)被添加到 SetElement(...) 上,并且分配了一些处理程序......但我无法告诉它寻找被推送然后响应的页面。我假设/期望 NavigationPage 可以按预期工作,因为它是 MasterDetailPage / DrawerLayout 的子视图。
注意:似乎有最多问题的视图以编程方式添加并给出“LayoutParamaters”。AXML 中的视图似乎刚刚出现。
在Android中“初始化”布局是否缺少一些东西?我已经在 Android 中制作了本机应用程序,并且不需要做任何特别的事情。
为什么 NavigationPage 上方的 UI 会导致 NavigationPage 不进行标准初始化?
我错过了什么???
编辑:
我在我的 GitHub 帐户上创建了这个问题的工作示例,您可以在此处克隆: https ://github.com/XamarinMonkey/CustomMasterDetail
构建并运行 CustomMasterDetail.Droid(注意 UI 是 MasterDetailPage)
点按任何项目
底部的蓝色条没有页码。
旋转显示页码的方向。
停止构建
注释掉整个类“MainMasterDetailPageRenderer.cs”
重建/运行应用程序
点按任何项目
页码会按预期立即显示,因为它现在使用默认的 MasterDetailPage!
请给建议!
编辑#2:
感谢一些反馈,这在 6.0 设备中似乎不是问题。我的测试设备是带有 v5.1.1 的“Samsung Galaxy Tab Pro”。不幸的是,我需要这个应用程序回到 4!
编辑#3:
问题必须是在 Android 5.1.1 中以编程方式将视图添加到在 Xamarin.Forms 中膨胀后的本机 RelativeLayout(被推送到 NavigationPage 详细信息页面)。手动调用 Measure / Layout 似乎可以解决问题。但我需要一个更自动化的解决方案。
xamarin.ios - 如何使用 Xamarin.forms 访问自定义类中的对象名称?
最近我开始使用 Xamarin.Forms 进行开发。我正在创建一个必须自定义按钮的应用程序,因此我创建了 customButton 类。现在,我想使用 object.name 属性访问自定义类中的按钮,但我无法做到这一点。谁能建议我如何做到这一点。
代码
Android项目中的CustomButton类
谢谢
ios - Xamarin Forms:IOS 中的进度条高度问题
我使用 Xamarin Forms PCL 项目创建了一个应用程序,该项目将在 android、ios、windows 10 和 windows 8.1 上运行。
在其中,我使用了一个进度条控件,为了增加它的高度,我制作了它的自定义渲染器。
在 PCL-
在IOS-
我使用这个渲染器来增加进度条的高度。首先我尝试this.Control.Transform = transform;
了但我没有为我工作然后我尝试this.Transform = transform;
然后它对我有用。
现在我有 5 个进度条一个接一个地垂直堆叠。
看起来像这样-
在应用 Transform 属性之前,它看起来很完美,但在应用了 transform 属性之后,两个进度条会离开父容器。
xamarin - Xamarin 在 Android 中在框架上形成阴影
Xamarin Forms 中的 Frame 类非常有限,不能让我在 Frame 后面看到阴影。我使用以下代码为 iOS 制作了一个自定义渲染器:
在 Android 上做类似的事情给我带来了问题,因为我对 Android 原生的了解有限。谁能告诉我要看什么,也许是一些好的代码示例?我还没有找到任何与此相似的东西。
android - 如何让 Xamarin 表单列表视图在 android 上删除后重置自定义视图单元格?
我正在使用自定义视图单元格和渲染器实现滑动删除功能。我有一个像这样的列表视图:
https://i.stack.imgur.com/AzBQk.png
滑动时会显示一个按钮,如下所示
https://i.stack.imgur.com/S87uj.png
但是,在单击删除按钮(成功从列表中删除项目)后,移动到删除单元格位置的视图单元格仍然暴露了删除按钮:
https://i.stack.imgur.com/aMwux.png
有人知道如何阻止这种情况发生吗?我的自定义渲染器只是公开了 OnFling() 和 OnScroll() 事件。
我也尝试过使用 Xamarin 表单 Pan Gesture Recogniser 进行类似的操作,并遇到了同样的问题。
编辑 1:添加了代码片段
自定义视图单元格 xaml
自定义视图单元 .cs:
查看型号:
XAML:
c# - Entry Xamarin Forms PCL 上的边界半径
有没有办法在 Xamarin 的 XAML 中的条目上设置边框半径,或者使用自定义渲染器之类的?
到目前为止我尝试过的一切都没有效果,但对于我的应用程序来说,如果我有圆形边框会更好。
预先感谢您的回答!
PS:我已经检查过这篇文章,但我没有在那里找到我的答案:)
xamarin - 如何在 Xamarin.Forms 的 TabbedPage 上方添加内容?
我需要在 aContentView
上方添加 a TabbedPage
,因此在 Android 中它将位于选项卡上方,而在 iOS 中它将位于每个页面的内容上方。可以使用自定义渲染器TabbedPage
或任何其他方式完成吗?如果是,我该怎么做?