slider_slider控件 - CSDN
精华内容
参与话题
  • slider(滑动条)详细解读及样式

    千次阅读 2018-07-03 09:44:44
    我们先来看看slider控件组成元素。Slider控件组成:用图片自定义thumb(滑块):[html] view plaincopyprint?<Style x:Key="SliderThumbStyle" TargetType="{x:Type Thumb}">...

    我们先来看看slider控件组成元素。

    Slider控件组成:

    用图片自定义thumb(滑块)

    1. <Style x:Key="SliderThumbStyle" TargetType="{x:Type Thumb}">  
    2.             <Setter Property="SnapsToDevicePixels" Value="True" />  
    3.             <Setter Property="OverridesDefaultStyle" Value="True" />  
    4.             <Setter Property="Height" Value="133" />  
    5.             <Setter Property="Width" Value="211" />  
    6.             <Setter Property="Template">  
    7.                 <Setter.Value>  
    8.                     <ControlTemplate TargetType="{x:Type Thumb}">  
    9.                         <Rectangle>  
    10.                             <Rectangle.Fill>  
    11.                                 <ImageBrush ImageSource="Assets/thumb.png" Stretch="None"/>  
    12.                             </Rectangle.Fill>  
    13.                         </Rectangle>  
    14.                     </ControlTemplate>  
    15.                 </Setter.Value>  
    16.             </Setter>  
    17.         </Style>  

     

    RepeatButton自定义类似上述

    需要知道RepeatButton分两部分,一部分滑块是划过的区域,一部分是滑块还没滑过的区域。

     

    相关说明:

    SnapsToDevicePixels可以将此特性添加到您的根元素的true启用呈现在 UI中的像素对齐。对运行在大于 96每英寸点数 (dpi)的计算机,像素的呈现最大程度地减少抗锯齿可视化项目在一个度量单位的实线附近。

     

    如果设置OverridesDefaultStyle到控件的true,则会禁止显示主题样式提供的默认控件模板。

     

    Template获取或设置控件模板。

     

    Rectangle绘制一个矩形形状,该形状可以具有笔画和填充。

    Fill获取或设置指定形状内部绘制方式的Brush

     

    Stretch获取或设置一个Stretch枚举值,该值描述形状如何填充为它分配的空间(对于EllipseRectangle,默认Stretch行为是Fill,因为它们的整个调整大小逻辑都基于WidthHeight。将EllipseRectangle的Stretch设置为None 可以有效地使其不呈现出来。)

     

    System.Windows.Shapes提供对可在可扩展应用程序标记语言 (XAML)或代码中使用的基本形状库的访问。同时还包括Path 类,该类可以加载路径数据,以便通过对象模型或内联格式描述复合几何图形。

     

    TriggerWPF样式和模板化模型允许在 Style 内部指定触发器。从本质上讲,触发器是可以让您在某些条件(例如某个属性值变为 true或者某个事件发生时)得到满足时应用更改的对象。

     

    Track表示一个处理Thumb控件的定位和大小调整的控件基元和两个用于设置ValueRepeatButton控件。

    Orientation获取或设置Slider的方向。Vertical垂直Horizontal水平

     

    绘图相关:

    Ellipse

    绘制一个椭圆。

    Line

    在两个点之间绘制一条直线。

    Path

    绘制一系列相互连接的直线和曲线。 直线和曲线维度通过 Data 属性声明,并且可以使用 Path 特定的 mini-language 或使用对象模型来指定。

    Polygon

    绘制一个多边形,它是形成闭合形状的一系列相互连接的直接。

    Polyline

    绘制一系列相互连接的直线。

    Rectangle

    绘制一个矩形形状,该形状可以具有笔画和填充。

    Shape

    EllipsePolygonRectangle 之类的形状元素提供基类。



    Slider控件样式:

    <UserControl.Resources>
    <!--笔刷-->
            <LinearGradientBrush x:Key="SliderBackground"  StartPoint="0,0" EndPoint="0,1">
                <GradientStop Offset="0" Color="#59ccfc"/>
                <GradientStop Offset="0.5" Color="#00b3fe"/>
                <GradientStop Offset="1" Color="#59ccfc"/>
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="SliderThumb"  StartPoint="0,0" EndPoint="0,1">
                <GradientStop Offset="0" Color="#FFD9D3E8"/>
                <!--<GradientStop Offset="1" Color="#dfdfdf"/>-->
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="SliderText"  StartPoint="0,0" EndPoint="0,1">
                <GradientStop Offset="0" Color="#7cce45"/>
                <GradientStop Offset="1" Color="#4ea017"/>
            </LinearGradientBrush>
     
            <!--Slider模板-->
            <Style x:Key="Slider_RepeatButton" TargetType="RepeatButton">
                <Setter Property="Focusable" Value="false" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="RepeatButton">
                            <Border Background="{StaticResource SliderBackground}" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
     
            <Style x:Key="Slider_RepeatButton1" TargetType="RepeatButton">
                <Setter Property="Focusable" Value="false" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="RepeatButton">
                            <Border Background="Transparent" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
     
            <Style x:Key="Slider_Thumb" TargetType="Thumb">
                <Setter Property="Focusable" Value="false" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Thumb">
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition/>
                                    <ColumnDefinition/>
                                </Grid.ColumnDefinitions>
                                <Border Background="{StaticResource SliderBackground}"/>
                                <Border Grid.ColumnSpan="2" CornerRadius="4"  Background="{StaticResource SliderThumb}" Width="15">
                                    <!--<TextBlock Text="||" HorizontalAlignment="Center" VerticalAlignment="Center"/>-->
                                </Border>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
     
            <Style x:Key="Slider_CustomStyle" TargetType="Slider">
                <Setter Property="Focusable" Value="false" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Slider">
                            <Grid>
                                <!--<Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="80"/>
                                    <ColumnDefinition/>
                                    <ColumnDefinition Width="40"/>
                                </Grid.ColumnDefinitions>-->
                                <Grid.Effect>
                                    <DropShadowEffect BlurRadius="10" ShadowDepth="1" />
                                </Grid.Effect>
                                <!--<Border HorizontalAlignment="Right" BorderBrush="Gray" BorderThickness="1,1,0,1" Background="{StaticResource SliderText}" Width="80" CornerRadius="8,0,0,8"/>-->
                                <!--<Border Grid.Column="2" HorizontalAlignment="Right" BorderBrush="Gray" BorderThickness="0,1,1,1" Background="{StaticResource SliderText}" Width="40" CornerRadius="0,8,8,0"/>-->
                                <!--<TextBlock Text="{Binding RelativeSource={RelativeSource TemplatedParent},Path=Tag}" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14"/>-->
                                <!--<TextBlock Grid.Column="2" Text="{Binding ElementName=PART_Track,Path=Value,StringFormat=\{0:N0\}}" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14" DataContext="{Binding}" />-->
                                <Border Grid.Column="1" BorderBrush="Gray" BorderThickness="1" CornerRadius="8,0,0,8">
                                    <Track Grid.Column="1" Name="PART_Track">
                                        <Track.DecreaseRepeatButton>
                                            <RepeatButton Style="{StaticResource Slider_RepeatButton}"
                                    Command="Slider.DecreaseLarge"/>
                                        </Track.DecreaseRepeatButton>
                                        <Track.IncreaseRepeatButton>
                                            <RepeatButton Style="{StaticResource Slider_RepeatButton1}"
                                    Command="Slider.IncreaseLarge"/>
                                        </Track.IncreaseRepeatButton>
                                        <Track.Thumb>
                                            <Thumb Style="{StaticResource Slider_Thumb}"/>
                                        </Track.Thumb>
                                    </Track>
                                </Border>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
    </UserControl.Resources>




    展开全文
  • slider组件

    2019-07-16 17:19:03
    slider组件,是一个强大的滑动选择器组件;  属性:  min:类型 数字 滑动选择器的(范围)最小值  max:类型 数字 滑动选择器的(范围)最大值  step:类型 数字 步长(滑一次走的距离) 取值必须...

      slider组件,是一个强大的滑动选择器组件;

        属性:

          min:类型  数字  滑动选择器的(范围)最小值

          max:类型  数字  滑动选择器的(范围)最大值

          step:类型  数字  步长(滑一次走的距离)  取值必须大于0且必须(max-min)整除

          disabled:类型  布尔  是否禁用

          value:类型  数字  当前取值;

          active-color:类型  字符串  已选择的颜色

          background-color:类型  字符串  背景条的颜色;

          block-size:类型  数字  滑块的大小,取值范围为12-28;

          block-color:类型  数字  滑块的颜色

          show-value:类型  布尔  是否显示当前value  

        事件:

          bindchange:完成一次拖动后触发的事件

          bindchanging:拖动过程中触发的事件

    转载于:https://www.cnblogs.com/shangjun6/p/10932495.html

    展开全文
  • 小程序slider滑块自定义,小程序自带的滑块没有样式,我自己写个样式条
  • Slider框架简单使用

    2018-07-26 10:23:11
    今天来整个Slider玩一下 首先导入依赖 //三级缓存的图片加载器 compile 'com.squareup.picasso:picasso:2.3.2' //属性动画的兼容包 compile 'com.nineoldandroids:library:2.4.0' //依赖开源的轮播大图控件 ...

    我们呢都会做一些广告,但是做轮播图呢比较麻烦,有现成封装好的东西,为啥不用呢?今天来整个Slider玩一下

    首先导入依赖

    //三级缓存的图片加载器
    compile 'com.squareup.picasso:picasso:2.3.2'
    //属性动画的兼容包
    compile 'com.nineoldandroids:library:2.4.0'
    //依赖开源的轮播大图控件
    compile 'com.daimajia.slider:library:1.1.5@aar'

    Activity部分

    private SliderLayout sliderLayout;
    private PagerIndicator indicator;
    //加载图片网址
    private String[]ImageUrl = {"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1529296205958&di=48d4177b37e5f8ef35fb1817006cb6d1&imgtype=0&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201508%2F06%2F20150806122050_d2Qfh.jpeg",
    "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3731997375,2461734094&fm=27&gp=0.jpg",
    "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1529891036&di=0c9ef2484c9918be2edf6ef21d5dab96&imgtype=jpg&er=1&src=http%3A%2F%2Fimg.edu-hb.com%2FNewsImg%2F201310%2F10%2F131010190637le6ts.jpg",
    "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1529296486682&di=1f61e5af3c14374684a426390b642aa6&imgtype=0&src=http%3A%2F%2Fg.hiphotos.baidu.com%2Fzhidao%2Fpic%2Fitem%2F8644ebf81a4c510f7f4b489c6859252dd52aa5ad.jpg"};
    //图片名字
    private String[]ImageDesc = {"迪丽热巴","杨幂","高圆圆","杨颖"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initImageSlider();
    }
    
    /**
     * 初始化首页的商品广告条
     */
    private void initImageSlider() {
        sliderLayout = (SliderLayout) findViewById(R.id.slider);
        indicator = (PagerIndicator) findViewById(R.id.custom_indicator);
        for (int i = 0; i < ImageUrl.length; i++) {
            //新建三个展示View,并且添加到SliderLayout
            TextSliderView tsv = new TextSliderView(this);
            //设置图片和名字相对应
            tsv.image(ImageUrl[i]).description(ImageDesc[i]);
            //for循环中,i不能直接设置到点击事件上,需要拿一个数据接受
            final int finalI = i;
            tsv.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
                @Override
                public void onSliderClick(BaseSliderView slider) {
                    Toast.makeText(MainActivity.this, ImageDesc[finalI], Toast.LENGTH_SHORT).show();
                }
            });
            //控件添加View
            sliderLayout.addSlider(tsv);
        }
        //对SliderLayout进行一些自定义的配置
        sliderLayout.setCustomAnimation(new DescriptionAnimation());
        sliderLayout.setPresetTransformer(SliderLayout.Transformer.Accordion);
        //翻转时间
        sliderLayout.setDuration(2000);
        //sliderLayout.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
        sliderLayout.setCustomIndicator(indicator);
    }

    Xml视图部分

    <com.daimajia.slider.library.SliderLayout
        android:id="@+id/slider"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <com.daimajia.slider.library.Indicators.PagerIndicator
            android:id="@+id/custom_indicator"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="10dp"
            app:selected_height="3dp"
            app:selected_padding_left="2dp"
            app:selected_padding_right="2dp"
            app:selected_width="16dp"
            app:shape="rect"
            app:unselected_color="#55333333"
            app:unselected_height="3dp"
            app:unselected_padding_left="2dp"
            app:unselected_padding_right="2dp"
            app:unselected_width="16dp"></com.daimajia.slider.library.Indicators.PagerIndicator>
    </com.daimajia.slider.library.SliderLayout>

    谢谢观看,欢迎评论,

    杨幂图片网址变了,所以出不来图片,不是写的问题.......

     

     

    展开全文
  • Slider控件的使用方法

    千次阅读 2010-04-16 15:25:00
    在MFC中滑动条(CSliderCtrl)是个常用的控件,用法如下:主要要方法有:1、设置、取得滑动范围:void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE ); void GetRange( int& nMin, int& nMax ) const;...

    在MFC中滑动条(CSliderCtrl)是个常用的控件,用法如下:

    主要要方法有:

    1、设置、取得滑动范围:
    void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE );
    void GetRange( int& nMin, int& nMax ) const;
    2、设置、取得按下左右箭头滑动间隔:

    int SetLineSize( int nSize );
    int GetLineSize( ) const;
    3、设置、取得按下PgUp、PgDown时滑动间隔:

     int SetPageSize( int nSize );
    int GetPageSize( ) const;
    4、设置、取得滑块位置:

    void SetPos( int nPos );
    int GetPos( ) const;
    5、设置滑动条刻度的频度:

    void SetTicFreq( int nFreq ); //将Tick marks和Auto ticks两个属性同时选中才能看到刻度,在下拉框中可以选择刻度的显示位置

    实例:

    在对话框中放一个Slider控件,添加相应的Ctrl型变量为m_slider。在对话框初始化函数OnInitDialog()中添加:

    BOOL CDlgSetup::OnInitDialog()
    {
     CDialog::OnInitDialog();
     
     // TODO: Add extra initialization here

     m_slider.SetRang(0,100);//设置滑动范围

     m_slider.SetTicFreq(10);//每10个单位画一刻度
     return TRUE;  // return TRUE unless you set the focus to a control
                   // EXCEPTION: OCX Property Pages should return FALSE
    }

    Slider控件本身并没有响应滑动的消息函数,但可以通过主窗体的OnHScroll()响应。在类向导中为对话框添加WM_HSCROLL消息,在响应函数中添加:

    void CDlgSetup::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
     // TODO: Add your message handler code here and/or call default
     CSliderCtrl   *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
     m_int=pSlidCtrlHue->GetPos();//取得当前位置值 
      CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
    }

    //m_int 即为当前滑块的值。

     

    当有多个slider控件时,我的处理方法,自认为还是比较巧妙的

    void CCameraParamDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
     // TODO: Add your message handler code here and/or call default
     UINT* pD;
     CSliderCtrl* pS = (CSliderCtrl*)pScrollBar;

     if((void*)pScrollBar == (void*)&m_ctrH)
      pD = &m_H;
     else if((void*)pScrollBar == (void*)&m_ctrV)
      pD = &m_V;
     else if((void*)pScrollBar == (void*)&m_ctrNx)
      pD = &m_nX;
     else if((void*)pScrollBar == (void*)&m_ctrNy)
      pD = &m_nY;
     else if((void*)pScrollBar == (void*)&m_ctrNz)
      pD = &m_nZ;
     else if((void*)pScrollBar == (void*)&m_ctrUx)
      pD = &m_uX;
     else if((void*)pScrollBar == (void*)&m_ctrUy)
      pD = &m_uY;
     else if((void*)pScrollBar == (void*)&m_ctrUz)
      pD = &m_uZ;
     
     *pD = pS->GetPos();
     UpdateData(FALSE);
     CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
    }

    展开全文
  • slider简介

    2017-12-22 14:05:07
    背景  YARN是HADOOP2中的通用资源管理平台,但是基于YARN开发应用,需要用户自己编写AM来处理资源申请、容错等,难度和复杂性比较大,因此YARN上运行良好的计算框架只有MapReduce、Spark、Tez等少数几个,...
  • Vue左滑组件slider的实现

    千次阅读 2018-10-09 18:02:29
    slider组件与swiper组件不同,slider滑动时并不翻页,实现的是左滑时,显示右侧内容的功能 1、主要思路  思路和swiper组件类似,主要的也就是对三个触摸事件的处理:touchstart、touchmove、touchend  在...
  • jquery插件系列之 - Slider滑块

    万次阅读 2012-06-25 17:49:18
    官方示例地址:http://jqueryui.com/demos/slider/      ·参数(参数名 : 参数类型 : 默认名称)  animate : Boolean : false   设置是否在拖动滑块时执行动画效果。   初始:$('.selector').slide
  • Slider的使用

    2018-04-02 21:33:20
    class HeaderViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.slider) SliderLayout slider; public HeaderViewHolder(View itemView) { super(itemView); ...
  • Slider安装说明

    千次阅读 2017-05-25 10:10:02
    Apache Slider目前还是Apache二级孵化项目,作为yarn的动态应用,可将已有分布式服务或者应用直接部署到YANR上,监控应用并按需调整应用资源大小; slider特性有: 允许用户在Yarn集群中按照需求创建应用 ...
  • Unity3D Slider控件(滑动条)

    千次阅读 2019-08-11 10:01:47
    Slider 控件包括两种,分别是水平滚动条 GUI.HorizontalSlider 和垂直滚动条 GUI.VerticalSlider 具体使用方法如下: GUI.HorizontalSlider(位置, 当前值, 起始值, 终点的值); //水平滚动条 GUI....
  • 继续聊WPF——Slider控件

    万次阅读 2011-11-21 20:30:06
    Slider控件,讲行通俗一点就是我们很常见的滑块,控件的外观上显示一系例刻度值,并存在一个可以被拖动的滑块,用户可以通过拖动滑块来控制控件的值。 如下图所示,是Windows系统的音量调节滑块。     下...
  • Unity之Slider总结

    2020-05-21 10:53:57
    Slider(滑动条): 是一个主要用于形象的拖动以改变目标值的控件,他的最恰当应用是用来改变一个数值,最大值和最小值自定义,拖动滑块可在此之间改变,例如改变声音大小。 slider组件 下图为slider的模块,Text...
  • Apache Slider设计理念与基本架构

    千次阅读 2017-12-06 11:58:58
    在第1章,介绍了Slider学习环境的搭建方法,这是学习Slider需要进行的是最基本的准备工作。在这一章中,我们做将从设计理念和基本架构方面对Slider进行介绍,这也是准备工作的一部分。通过本章的介绍将会为下面几章...
  • 这是一款在原生bootstrap slider的基础上制作效果非常炫酷的jQuery slider插件。该slider插件可以自定义slider的颜色、形状、透明度和tooltip等属性,美化的效果非常好 二、简单Demo 1.引用 2.HTML,css...
  • 【unity】Slider联动

    2020-07-23 22:32:26
    这些距离可以通过编辑器面板的EditorGUILayout.Slider来控制,且需要有联动效果,即后一slider的值不小于前一slider的值,拖动slider时会相互影响。 二.设计思路 问题的关键点在于前一slider的值不小于后一slider...
  • unity之Slider拖动事件

    2020-07-16 17:43:17
    下面两个方法都是UGUI里面Slider的,脚本之接挂载到slider上面就可以了,废话不多说上代码: /// <summary> /// 给 Slider 添加开始拖拽事件 //拖拽slider进度条时一直会触发 /// </summary> /// <...
  • 为了满足需求,需要单独设置左边的轨道和圆圈的颜色,但是“el-slider__runway”和“el-slider__button”无法设置一个,只能2个同时一起改变。为了解决这个问题,有2个思路,第一个是通过css单独改变颜色...
  • 一.Slider介绍 Slider就是滑动条。游戏中我们经常会用到这一控件,我们可以通过滑动条这一控件来人为控制某些数值的范围变化,比如控制游戏的音量大小、界面的颜色亮度等。 Slider也和cocos提供的其他控件一样,...
  • Slider 组件作为 G2 的交互插件,必须在 G2 引入的前提下使用! 为了做到纯粹和解耦,Slider 组件是完全基于数据的筛选操作,需要配合 DataSet 以及状态量使用,当滑动条发生变化时,通过定义 onChange 更新状态量,...
1 2 3 4 5 ... 20
收藏数 45,262
精华内容 18,104
关键字:

slider