Xamarin.Forms入门困扰与解决方式-第三篇

本文介绍如何在Xamarin.Forms中解决控制项样式与美工设计冲突的问题,特别是去除输入框边框。通过自定义视觉元素,利用原生平台API在Android和iOS上实现效果,提供详细步骤和参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候因应美工的需要,需要用底图搭配控制项来达到漂亮的外观,但是控制项自带的样式常常会抵触美工的设计,例如想要去除输入框自带的框线时,会发现Xamarin.Forms中的控制项可以变化外观的属性很少,此时就必须使用特别的技巧来达到目的;本文延续第二篇的案例,演示控制项自订外观的解决方式。

展示版本:Xamarin.Forms.1.3.5.6337

演示目标: 去除输入框的底线或外框线



想要客制化必须熟悉原生平台的API,步骤如下

1.Xamarin.Forms中的Entry控制项在Android下是用EditText实现,在iOS下是用UITextField实现,所以在解决方案的三个project中会分别新增三个空白类别,App1(Xamarin.Forms)新增CustomVisualElement.cs,App1.Droid新增CustomVisualElementRenderer.Android.cs,App1.iOS新增CustomVisualElementRenderer.iOS.cs


2. 在CustomVisualElement.cs中定义要客制化的类别(必须继承自Xamarin.Forms的某个控制项),在另外两个档中用该平台的API去变化,Android是将EditText.Background设成null,iOS是将UITextField.BorderStyle设成None




3.在Xaml中使用(ns1:MyEntry是客制控制项,Entry是原始控制项)


参考资料

http://developer.xamarin.com/guides/cross-platform/xamarin-forms/custom-renderer


全文请参考:http://www.thinkpower.info/xamarin/cn/Article_18.aspx?idx=18#xamarin_top


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值