Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4168816
  • 博文数量: 864
  • 博客积分: 17977
  • 博客等级: 上将
  • 技术积分: 8336
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-26 09:59
  • 认证徽章:
个人简介

一个好老好老的老程序员了。

文章分类

全部博文(864)

文章存档

2019年(21)

2018年(88)

2017年(130)

2015年(5)

2014年(12)

2013年(41)

2012年(36)

2011年(272)

2010年(1)

2009年(53)

2008年(65)

2007年(47)

2006年(81)

2005年(12)

分类: Android平台

2019-08-06 21:18:07

步进器的区别
Stepper视图与Slider的编程接口几乎相同:它具有double类型的Minimum,Maximum和Value属性,并触发ValueChanged事件处理程序。
但是,Stepper的Maximum属性的默认值为100,Stepper还会添加一个Increment属性,其默认值为1. Stepper视觉效果仅由两个带有减号和加号的按钮组成。这两个按钮的按下会根据Increment属性在Minimum到Maximum之间逐步更改值。
虽然Stepper的Value和其他属性是double类型,但Stepper通常用于选择整数值。您可能不希望((最大 - 最小)÷增量)的值高达100,如默认值所示。如果您在其中一个按钮上按住手指,则会在iOS上触发打字重复,但在Android或Windows 10 Mobile上则不会。不管你的程序为用户提供了另一种更改Stepper值的方法(可能是文本Entry视图),你不想强迫用户按100次按钮从最小值到最大值。
StepperDemo程序将Stepper的Maximum属性设置为10,并使用Step?per作为基本设计辅助来确定Button边框的最佳边框宽度。 StackLayout顶部的Button仅用于显示目的,并具有BackgroundColor和BorderColor的必要属性设置,以启用Android和Windows 10 Mobile上的边框显示。
Stepper是以下StackLayout中的最后一个子节点。 Button和Stepper之间是一对Label元素,用于显示当前的Stepper值:

点击(此处)折叠或打开

  1. <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
  2.              xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  3.              x:Class="StepperDemo.StepperDemoPage">
  4.     <StackLayout>
  5.         <Button x:Name="button"
  6.                 Text=" Sample Button "
  7.                 FontSize="Large"
  8.                 HorizontalOptions="Center"
  9.                 VerticalOptions="CenterAndExpand">
  10.             <Button.BackgroundColor>
  11.                 <OnPlatform x:TypeArguments="Color"
  12.                             Android="#404040" />
  13.                 </Button.BackgroundColor>
  14.             <Button.BorderColor>
  15.                 <OnPlatform x:TypeArguments="Color"
  16.                             Android="#C0C0C0"
  17.                             WinPhone="Black" />
  18.             </Button.BorderColor>
  19.         </Button>
  20.         <StackLayout VerticalOptions="CenterAndExpand">
  21.  
  22.             <StackLayout Orientation="Horizontal"
  23.                          HorizontalOptions="Center">
  24.                 <StackLayout.Resources>
  25.                     <ResourceDictionary>
  26.                         <Style TargetType="Label">
  27.                             <Setter Property="FontSize" Value="Medium" />
  28.                         </Style>
  29.                     </ResourceDictionary>
  30.                 </StackLayout.Resources>
  31.  
  32.                 <Label Text="Button Border Width =" />
  33.                 <Label x:Name="label" />
  34.             </StackLayout>
  35.             <Stepper x:Name="stepper"
  36.                      Maximum="10"
  37.                      ValueChanged="OnStepperValueChanged"
  38.                      HorizontalOptions="Center" />
  39.         </StackLayout>
  40.     </StackLayout>
  41. </ContentPage>

显示Stepper值的Label从代码隐藏文件的构造函数初始化。 随着Stepper的Value属性的每次更改,事件处理程序显示新值并设置Button边框宽度:

点击(此处)折叠或打开

  1. public partial class StepperDemoPage : ContentPage
  2. {
  3.     public StepperDemoPage()
  4.     {
  5.         InitializeComponent();
  6.         // Initialize display.
  7.         OnStepperValueChanged(stepper, null);
  8.     }
  9.     void OnStepperValueChanged(object sender, ValueChangedEventArgs args)
  10.     {
  11.         Stepper stepper = (Stepper)sender;
  12.         button.BorderWidth = stepper.Value;
  13.         label.Text = stepper.Value.ToString("F0");
  14.     }
  15. }

阅读(37) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册