【问题标题】:How to change slider style of MediaPlayerElement on Xbox?如何在 Xbox 上更改 MediaPlayerElement 的滑块样式?
【发布时间】:2020-01-14 16:37:09
【问题描述】:

如何更改Xbox上MediaPlayerElement的'MediaSliderStyle'默认样式? 我可以在 MediaTransportControls.xaml 中自定义一些颜色,并删除默认的聚焦绿色边框。 但是,当关注整个滑块时,如何让圆圈变大 2 倍。

目前,当聚焦在滑块上如图1时,我必须按下GamePadA,然后转到pic.2,然后移动时间轴。

如何定义Android TV、exo播放器等行为,让用户少操作。

Pic.1 重点突出。

Pic.2 选择快进和快退的时间线。

Pic.3 Android TV(Exo 播放器)时间线不集中。

Pic.4 Android TV(Exo 播放器)时间线聚焦,按左/右快进和快退。

【问题讨论】:

    标签: xaml uwp media-player


    【解决方案1】:

    您可以找到默认的MediaTransportControls样式here,其中还包含进度条的完整样式代码。

    MediaTransportControls 由多个控件组成。进度条主要由SliderThumb组成,但不暴露ThumbFocus这样的状态,只暴露PointerOverPressed等常规状态。

    在默认代码中,我们可以通过修改HorizontalThumb的Width/Height来改变拇指的大小:

    ...
    <!-- Default width / height are 24 -->
    <Thumb x:Name="HorizontalThumb"
           Style="{StaticResource SliderThumbStyle}"
           Height="10"
           Width="10"
           Grid.Row="0"
           Grid.RowSpan="3"
           Grid.Column="1"
           FocusVisualMargin="-14,-6,-14,-6"
           AutomationProperties.AccessibilityView="Raw">
    ...
    

    然后在PointerOver状态和Pressed状态改变拇指大小:

    <VisualState x:Name="Pressed">
        <Storyboard>
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="Width">
                <DiscreteObjectKeyFrame KeyTime="0" Value="24" />
            </ObjectAnimationUsingKeyFrames>
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="Height">
                <DiscreteObjectKeyFrame KeyTime="0" Value="24" />
            </ObjectAnimationUsingKeyFrames>
            ...
        </Storyboard>
    </VisualState>
    

    在键盘和鼠标模式下效果很好,但是如果通过切换焦点选中控件就不会生效。

    如果这个效果很重要,你可能需要重写Slider并在获得焦点时创建事件。

    最好的问候。

    【讨论】:

    • 好的,ms目前似乎不想做ui更改以适应电视设备。我们必须覆盖所有的 UI。你知道在哪里向 MS 报告此功能,反馈中心除外。
    • 如果是Feature Request,建议在Feedback Hub提交。这将有助于您的问题得到更多关注。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 2020-07-27
    • 2012-08-25
    • 1970-01-01
    相关资源
    最近更新 更多