feature: anime status icon
This commit is contained in:
@@ -659,7 +659,7 @@ namespace Pixiview.Illust
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (y - lastRefreshY > 100)
|
||||
if (y - lastRefreshY > 200)
|
||||
{
|
||||
if (CheckRefresh())
|
||||
{
|
||||
|
@@ -44,6 +44,15 @@
|
||||
FontSize="Micro" TextColor="White"
|
||||
IsVisible="{Binding IsPageVisible}"/>
|
||||
|
||||
<u:RoundLabel Text="{Binding AnimeStatus}"
|
||||
BackgroundColor="{DynamicResource MaskColor}" Margin="0, 0, 6, 6"
|
||||
Padding="13, 12, 0, 0" CornerRadius="22"
|
||||
WidthRequest="44" HeightRequest="44"
|
||||
HorizontalOptions="End" VerticalOptions="End"
|
||||
FontFamily="{DynamicResource IconSolidFontFamily}"
|
||||
FontSize="20" TextColor="White"
|
||||
IsVisible="{Binding IsAnimateSliderVisible}"/>
|
||||
|
||||
<Slider Grid.Row="1" VerticalOptions="End"
|
||||
Margin="{DynamicResource ScreenBottomPadding}"
|
||||
MinimumTrackColor="{DynamicResource TintColor}"
|
||||
|
@@ -27,6 +27,8 @@ namespace Pixiview.Illust
|
||||
nameof(CurrentPage), typeof(int), typeof(ViewIllustPage), propertyChanged: OnCurrentPagePropertyChanged);
|
||||
public static readonly BindableProperty IsScrollAnimatedProperty = BindableProperty.Create(
|
||||
nameof(IsScrollAnimated), typeof(bool), typeof(ViewIllustPage), true);
|
||||
public static readonly BindableProperty AnimeStatusProperty = BindableProperty.Create(
|
||||
nameof(AnimeStatus), typeof(string), typeof(ViewIllustPage), StyleDefinition.IconPlay);
|
||||
public static readonly BindableProperty IsAnimateSliderVisibleProperty = BindableProperty.Create(
|
||||
nameof(IsAnimateSliderVisible), typeof(bool), typeof(ViewIllustPage));
|
||||
public static readonly BindableProperty IsAnimateSliderEnabledProperty = BindableProperty.Create(
|
||||
@@ -83,6 +85,11 @@ namespace Pixiview.Illust
|
||||
get => (int)GetValue(CurrentPageProperty);
|
||||
set => SetValue(CurrentPageProperty, value);
|
||||
}
|
||||
public string AnimeStatus
|
||||
{
|
||||
get => (string)GetValue(AnimeStatusProperty);
|
||||
set => SetValue(AnimeStatusProperty, value);
|
||||
}
|
||||
public bool IsScrollAnimated
|
||||
{
|
||||
get => (bool)GetValue(IsScrollAnimatedProperty);
|
||||
@@ -493,6 +500,7 @@ namespace Pixiview.Illust
|
||||
if (ugoira != null)
|
||||
{
|
||||
var playing = !ugoira.IsPlaying;
|
||||
AnimeStatus = playing ? StyleDefinition.IconPause : StyleDefinition.IconPlay;
|
||||
IsAnimateSliderEnabled = !playing;
|
||||
ugoira.TogglePlay(playing);
|
||||
illustItem.IsPlaying = playing;
|
||||
@@ -506,6 +514,7 @@ namespace Pixiview.Illust
|
||||
|
||||
ugoira = new Ugoira(ugoiraData, item);
|
||||
ugoira.FrameChanged += OnUgoiraFrameChanged;
|
||||
AnimeStatus = StyleDefinition.IconPause;
|
||||
illustItem.IsPlaying = true;
|
||||
ugoira.TogglePlay(true);
|
||||
}
|
||||
|
Reference in New Issue
Block a user