Add visuals for loop and shuffle options
continuous-integration/drone/push Build is passing Details

pull/37/head
Corentin LEMAIRE 2 years ago
parent 54167c7fd1
commit 2a8bfe79b3

@ -15,12 +15,12 @@
<Grid ColumnDefinitions="*,3*,*" Grid.ColumnSpan="3" RowDefinitions="8*,3*" Grid.RowSpan="2">
<HorizontalStackLayout Grid.Row="0" Grid.Column="1" HorizontalOptions="Center">
<ImageButton Style="{StaticResource FooterButton}" Clicked="LoopButton_Clicked" Source="loop.png"/>
<ImageButton Style="{StaticResource FooterButton}" Clicked="LoopButton_Clicked" Source="{Binding Source={RelativeSource AncestorType={x:Type ContentView}}, Path=LoopImage}"/>
<ImageButton Style="{StaticResource FooterButton}" Clicked="RewindButton_Clicked" Source="back.png"/>
<ImageButton Clicked="PlayButton_Clicked" WidthRequest="30" Source="{Binding Source={RelativeSource AncestorType={x:Type ContentView}}, Path=PlayImage}" Aspect="AspectFit" BackgroundColor="Transparent" Margin="0,10,8,10"/>
<ImageButton Style="{StaticResource FooterButton}" Clicked="NextButton_Clicked" Source="next.png"/>
<ImageButton Style="{StaticResource FooterButton}" Clicked="ShuffleButton_Clicked" Source="rdm.png"/>
<ImageButton Style="{StaticResource FooterButton}" Clicked="ShuffleButton_Clicked" Source="{Binding Source={RelativeSource AncestorType={x:Type ContentView}}, Path=ShuffleImage}"/>
</HorizontalStackLayout>
<Grid ColumnDefinitions="*,4*,*" Grid.Row="1" Style="{StaticResource FooterSliderTrigger}">

@ -32,6 +32,30 @@ public partial class FooterPage : ContentView, INotifyPropertyChanged
}
}
private string loopImage = "loop.png";
public string LoopImage
{
get => loopImage;
set
{
loopImage = value;
OnPropertyChanged(nameof(LoopImage));
}
}
private string shuffleImage = "rdm.png";
public string ShuffleImage
{
get => shuffleImage;
set
{
shuffleImage = value;
OnPropertyChanged(nameof(ShuffleImage));
}
}
private double volume = 1;
public double Volume
@ -162,11 +186,25 @@ public partial class FooterPage : ContentView, INotifyPropertyChanged
public void ShuffleButton_Clicked(object sender, EventArgs e)
{
Manager.Shuffle();
if (ShuffleImage == "rdm.png")
{
ShuffleImage = "rdm2.png";
} else {
ShuffleImage = "rdm.png";
}
}
public void LoopButton_Clicked(object sender, EventArgs e)
{
Manager.Loop();
if (LoopImage == "loop.png")
{
LoopImage = "loop2.png";
}
else
{
LoopImage = "loop.png";
}
}
public void OnCompleted(object sender, EventArgs e)

@ -265,6 +265,9 @@ public partial class LocalFilesPage : ContentPage
}
}
// Others
private void Play(object sender, EventArgs e)
{
if (sender is Button button && button.BindingContext is CustomTitle customTitle)

@ -69,8 +69,11 @@ public partial class PlaylistPage : ContentPage
if (musicElement != null)
{
if (Manager.CurrentPlaying == null) return;
string encodedFilePath = Manager.CurrentPlaying.Path.Replace(" ", "\\ ");
musicElement.Source = encodedFilePath;
musicElement.Source = Manager.CurrentPlaying.Path;
if (footer is FooterPage footerPage)
{
footerPage.ShuffleImage = "rdm2.png";
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Loading…
Cancel
Save