Xamarin.Forms Views介绍(二)
Button使用
功能很简单,用来响应用户的点击操作。
Button特殊属性介绍
Text、FontAttributes等属性不再说明。
- Image :FileImageSource类型,按钮上显示的图片,涉及图片资源先不介绍。
- BorderWidth :double类型,表示按钮边框宽度,默认值0。
- BorderColor :边框颜色,默认值Color.Default。
- BorderRadius :double类型,按钮圆角弧度,默认值5。
只设置BorderWidth属性,仅IOS有边框效果。同时设置BorderWidth和BorderColor,使 Windows 10 mobile显示边框效果。而Android要同时设置BorderWidth、BorderColor和BackgroundColor才会有边框效果。
BorderRadius仅对Android和IOS有效
Button事件
- Clicked :用户点击按钮,手指抬起时触发,手指按下移动手指到按钮外不会触发。
示例:
<Button Text="Forms Button"
HorizontalOptions="Center"
VerticalOptions="Center"
BorderWidth="5"
BorderColor="Aqua"
BackgroundColor="Red"/>
效果,Android预览效果变形,运行时正常(为了演示属性,效果是难看了):
ActivityIndicator使用
给用户简单的反馈表明程序正在运行,不提供具体进度信息。
不同平台效果
ActivityIndicator内部实现只定义了两个属性。
- Color :表示指示器颜色。
- IsRunning :bool类型,指示活动是否正在运行,设置为false时ActivityIndicator自动隐藏。
无特殊事件。
XAML定义:
<ActivityIndicator
HorizontalOptions="Center"
VerticalOptions="Center"
Color="Red"
IsRunning="true"/>
ProgressBar使用
显示进度信息。定义了Progress属性表示当前进度。Progress也是ProgressBar定义的唯一属性,没有提供MaxXX和MinXX相关属性,所以Progress有效值是0~1范围内的double类型数值。
不同平台效果展示:
XAML定义
<ProgressBar
VerticalOptions="Center"
Progress=".5" />
ProgressBar定义了一个ProgressTo方法设置当前进度值,与直接赋值Progress不同ProgressTo提供了动画效果(Animate方法实现)。第一个参数value表示设置的进度值,第二个参数length表示多少时间内达到设置的值(毫秒),第三个参数easing表示动画效果。
ProgressTo定义使用示例和效果:
await progressBar.ProgressTo(0.8, 3000, Easing.BounceOut);
BounceOut效果
Slider使用
Slider是一个水平拖动的滑块。
Slider提供属性
- Maximum :double类型,表示Slider支持最大值,默认值1。
- Minimum :double类型,表示Slider支持最小值,默认值0。
- Value :double类型,表示Slider当前值。
定义Slider注意事项。Minimum值必须小于Maximum值,Value值必须大于等于Minimum小于等于Maximum。
如<Slider Minimum="10"/>
定义Slider引发异常:
XAML解析器解析Slider节点,初始化Slider定义Minimum为10,Maximum值仍是默认值1,Minimum大于Maximum引发异常,因此定义Slider时应先为Maximum赋值再为Minimum赋值,Minimum和Maximum有正确的赋值之后再为Value赋值。
注意Value赋值位置当我们先定义Value值为30时,滑块仍处于最小值位置不会出现我们期望的效果,这是因为XAML解析器解析Slider节点会根据属性赋值顺序从前到后初始化Slider对象,先赋值Value等于30,此时Minimum值为0,Maximum值为1,Value等于30不是一个合法的值.
Slider提供事件
- ValueChanged :Value值发生改变时触发。
Stepper使用
Stepper 与Slider类似,区别是Stepper两个按钮组成,两个按钮加减一个增量值改变Value的值。
Stepper不同平台效果Stepper提供属性
- Increment :double类型,表示Stepper增量值,默认值1。
- Maximum :double类型,表示Stepper支持最大值,默认值100。
- Minimum :double类型,表示Stepper支持最小值,默认值0。
- Value :double类型,表示Stepper当前值。
Stepper提供事件
- ValueChanged :Value值发生改变时触发。
Switch使用
Switch表示开关按钮,获取用户bool类型输入。Switch只定义了一个IsToggled属性,IsToggled属性的改变会触发Toggled事件。
当我们为Switch的x:Name属性时赋值时可能会赋值为switch
与C#关键字重复,可以替换为@switch
。