mirror of
https://github.com/zoriya/Opus.git
synced 2025-12-06 06:26:15 +00:00
Add to playlist in player
This commit is contained in:
@@ -342,6 +342,12 @@
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\anim\SlideOutUp.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\noAlbum.jpg" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\PlaylistAdd.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace MusicApp.Resources.Portable_Class
|
||||
[Service]
|
||||
public class MusicPlayer : Service, AudioManager.IOnAudioFocusChangeListener
|
||||
{
|
||||
public MediaPlayer player;
|
||||
public static MediaPlayer player;
|
||||
public static List<Song> queue = new List<Song>();
|
||||
public MediaSessionCompat mediaSession;
|
||||
public AudioManager audioManager;
|
||||
@@ -156,7 +156,7 @@ namespace MusicApp.Resources.Portable_Class
|
||||
|
||||
await player.SetDataSourceAsync(Application.Context, Android.Net.Uri.Parse(filePath));
|
||||
var audioFocus = audioManager.RequestAudioFocus(this, Stream.Music, AudioFocus.Gain);
|
||||
if(audioFocus != AudioFocusRequest.Granted)
|
||||
if (audioFocus != AudioFocusRequest.Granted)
|
||||
{
|
||||
Console.WriteLine("Can't Get Audio Focus");
|
||||
return;
|
||||
@@ -237,10 +237,10 @@ namespace MusicApp.Resources.Portable_Class
|
||||
public void AddToQueue(string filePath)
|
||||
{
|
||||
GetTrackSong(filePath, out Song song);
|
||||
if (CurentID() == -1)
|
||||
if (CurrentID() == -1)
|
||||
queue.Add(song);
|
||||
else
|
||||
queue.Insert(CurentID() + 1, song);
|
||||
queue.Insert(CurrentID() + 1, song);
|
||||
}
|
||||
|
||||
public void PlayLastInQueue(string filePath)
|
||||
@@ -251,20 +251,23 @@ namespace MusicApp.Resources.Portable_Class
|
||||
|
||||
public void PlayLast()
|
||||
{
|
||||
if (CurentID() - 1 < 0)
|
||||
if (CurrentID() - 1 < 0)
|
||||
return;
|
||||
|
||||
Song last = queue[CurentID() - 1];
|
||||
Song last = queue[CurrentID() - 1];
|
||||
string filePath = last.GetPath();
|
||||
SwitchQueue(filePath);
|
||||
}
|
||||
|
||||
public void PlayNext()
|
||||
{
|
||||
if (CurentID() + 1 > queue.Count)
|
||||
if (CurrentID() + 1 > queue.Count - 1)
|
||||
{
|
||||
Stop();
|
||||
return;
|
||||
}
|
||||
|
||||
Song next = queue[CurentID() + 1];
|
||||
Song next = queue[CurrentID() + 1];
|
||||
string filePath = next.GetPath();
|
||||
SwitchQueue(filePath);
|
||||
}
|
||||
@@ -279,10 +282,10 @@ namespace MusicApp.Resources.Portable_Class
|
||||
CreateNotification(song.GetName(), song.GetArtist(), song.GetAlbumArt());
|
||||
}
|
||||
|
||||
public static int CurentID()
|
||||
public static int CurrentID()
|
||||
{
|
||||
int id = 0;
|
||||
foreach(Song song in queue)
|
||||
foreach (Song song in queue)
|
||||
{
|
||||
if (song.GetName() == title)
|
||||
return id;
|
||||
@@ -291,6 +294,25 @@ namespace MusicApp.Resources.Portable_Class
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static void SetSeekBar(SeekBar bar)
|
||||
{
|
||||
bar.Max = player.Duration;
|
||||
bar.Progress = player.CurrentPosition;
|
||||
bar.ProgressChanged += (sender, e) =>
|
||||
{
|
||||
if (player != null && e.FromUser)
|
||||
player.SeekTo(e.Progress);
|
||||
};
|
||||
}
|
||||
|
||||
public static int CurrentPosition
|
||||
{
|
||||
get
|
||||
{
|
||||
return player.CurrentPosition;
|
||||
}
|
||||
}
|
||||
|
||||
void GetTrackSong(string filePath, out Song song)
|
||||
{
|
||||
string Title = "Unknow";
|
||||
|
||||
@@ -6,12 +6,7 @@ using MusicApp.Resources.values;
|
||||
using Android.Support.V4.App;
|
||||
using System;
|
||||
using Square.Picasso;
|
||||
using Android.Graphics;
|
||||
using Android.Support.Design.Widget;
|
||||
using MusicApp.Resources.Fragments;
|
||||
using Android.Transitions;
|
||||
using Android.Animation;
|
||||
using Android.App.Job;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading;
|
||||
using Android.Support.V7.App;
|
||||
@@ -23,7 +18,8 @@ namespace MusicApp.Resources.Portable_Class
|
||||
public static Player instance;
|
||||
public View playerView;
|
||||
|
||||
private View view;
|
||||
private Handler handler = new Handler();
|
||||
private SeekBar bar;
|
||||
private ImageView imgView;
|
||||
private CancellationTokenSource cancelToken;
|
||||
private int[] timers = new int[] { 0, 1, 10, 30, 60, 120 };
|
||||
@@ -39,6 +35,7 @@ namespace MusicApp.Resources.Portable_Class
|
||||
public override void OnDestroy()
|
||||
{
|
||||
MainActivity.instance.ToolBar.Visibility = ViewStates.Visible;
|
||||
MainActivity.instance.FindViewById<BottomNavigationView>(Resource.Id.bottomView).Visibility = ViewStates.Visible;
|
||||
base.OnDestroy();
|
||||
instance = null;
|
||||
}
|
||||
@@ -57,21 +54,26 @@ namespace MusicApp.Resources.Portable_Class
|
||||
return instance;
|
||||
}
|
||||
|
||||
void CreatePlayer()
|
||||
async void CreatePlayer()
|
||||
{
|
||||
if (MusicPlayer.CurrentID() == -1)
|
||||
await Task.Delay(500);
|
||||
|
||||
MainActivity.instance.ToolBar.Visibility = ViewStates.Gone;
|
||||
MainActivity.instance.FindViewById<BottomNavigationView>(Resource.Id.bottomView).Visibility = ViewStates.Gone;
|
||||
TextView title = playerView.FindViewById<TextView>(Resource.Id.playerTitle);
|
||||
TextView artist = playerView.FindViewById<TextView>(Resource.Id.playerArtist);
|
||||
imgView = playerView.FindViewById<ImageView>(Resource.Id.playerAlbum);
|
||||
playerView.FindViewById<ImageButton>(Resource.Id.playerSleep).Click += SleepButton_Click;
|
||||
|
||||
playerView.FindViewById<ImageButton>(Resource.Id.lastButton).Click += Last_Click;
|
||||
playerView.FindViewById<ImageButton>(Resource.Id.playButton).Click += Play_Click;
|
||||
playerView.FindViewById<ImageButton>(Resource.Id.nextButton).Click += Next_Click;
|
||||
playerView.FindViewById<ImageButton>(Resource.Id.playerSleep).Click += SleepButton_Click;
|
||||
playerView.FindViewById<ImageButton>(Resource.Id.playerPlaylistAdd).Click += AddToPlaylist_Click; ;
|
||||
playerView.FindViewById<FloatingActionButton>(Resource.Id.downFAB).Click += Fab_Click;
|
||||
|
||||
|
||||
Song current = MusicPlayer.queue[MusicPlayer.CurentID()];
|
||||
Song current = MusicPlayer.queue[MusicPlayer.CurrentID()];
|
||||
|
||||
title.Text = current.GetName();
|
||||
artist.Text = current.GetArtist();
|
||||
@@ -84,11 +86,53 @@ namespace MusicApp.Resources.Portable_Class
|
||||
var songAlbumArtUri = ContentUris.WithAppendedId(songCover, current.GetAlbumArt());
|
||||
|
||||
Picasso.With(Android.App.Application.Context).Load(songAlbumArtUri).Placeholder(Resource.Drawable.MusicIcon).Into(imgView);
|
||||
|
||||
bar = playerView.FindViewById<SeekBar>(Resource.Id.songTimer);
|
||||
MusicPlayer.SetSeekBar(bar);
|
||||
handler.PostDelayed(UpdateSeekBar, 1000);
|
||||
|
||||
bool asNext = MusicPlayer.queue.Count > MusicPlayer.CurrentID() + 1;
|
||||
if (asNext)
|
||||
{
|
||||
Song next = MusicPlayer.queue[MusicPlayer.CurrentID() + 1];
|
||||
playerView.FindViewById<TextView>(Resource.Id.nextTitle).Text = "Next music:";
|
||||
playerView.FindViewById<TextView>(Resource.Id.nextArtist).Text = next.GetName();
|
||||
|
||||
var nextAlbumArtUri = ContentUris.WithAppendedId(songCover, next.GetAlbumArt());
|
||||
|
||||
ImageView nextArt = playerView.FindViewById<ImageView>(Resource.Id.nextArt);
|
||||
Picasso.With(Android.App.Application.Context).Load(nextAlbumArtUri).Placeholder(Resource.Drawable.MusicIcon).Into(nextArt);
|
||||
}
|
||||
else
|
||||
{
|
||||
playerView.FindViewById<TextView>(Resource.Id.nextTitle).Text = "Next music:";
|
||||
playerView.FindViewById<TextView>(Resource.Id.nextArtist).Text = "Nothing.";
|
||||
|
||||
ImageView nextArt = playerView.FindViewById<ImageView>(Resource.Id.nextArt);
|
||||
Picasso.With(Android.App.Application.Context).Load(Resource.Drawable.noAlbum).Placeholder(Resource.Drawable.MusicIcon).Into(nextArt);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddToPlaylist_Click(object sender, EventArgs e)
|
||||
{
|
||||
Browse.act = Activity;
|
||||
Browse.inflater = LayoutInflater;
|
||||
Browse.GetPlaylist(MusicPlayer.queue[MusicPlayer.CurrentID()]);
|
||||
}
|
||||
|
||||
private void UpdateSeekBar()
|
||||
{
|
||||
if (!MusicPlayer.isRunning)
|
||||
handler.RemoveCallbacks(UpdateSeekBar);
|
||||
|
||||
|
||||
bar.Progress = MusicPlayer.CurrentPosition;
|
||||
handler.PostDelayed(UpdateSeekBar, 1000);
|
||||
}
|
||||
|
||||
private void Fab_Click(object sender, EventArgs e)
|
||||
{
|
||||
Activity.SupportFragmentManager.BeginTransaction()./*SetCustomAnimations(Resource.Animation.SlideInUp, Resource.Animation.SlideOutUp)/*/Replace(Resource.Id.contentView, Queue.NewInstance()).Commit();
|
||||
Activity.SupportFragmentManager.BeginTransaction()./*SetCustomAnimations(Resource.Animation.SlideInUp, Resource.Animation.SlideOutUp).*/Replace(Resource.Id.contentView, Queue.NewInstance()).Commit();
|
||||
}
|
||||
|
||||
private void Last_Click(object sender, EventArgs e)
|
||||
|
||||
@@ -61,8 +61,6 @@ namespace MusicApp.Resources.Portable_Class
|
||||
|
||||
public override void OnDestroy()
|
||||
{
|
||||
MainActivity.instance.ToolBar.Visibility = ViewStates.Visible;
|
||||
MainActivity.instance.FindViewById<BottomNavigationView>(Resource.Id.bottomView).Visibility = ViewStates.Visible;
|
||||
if (isEmpty)
|
||||
{
|
||||
ViewGroup rootView = Activity.FindViewById<ViewGroup>(Android.Resource.Id.Content);
|
||||
|
||||
216
MusicApp/Resources/Resource.Designer.cs
generated
216
MusicApp/Resources/Resource.Designer.cs
generated
@@ -2262,26 +2262,26 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f020053
|
||||
public const int avd_hide_password = 2130837587;
|
||||
|
||||
// aapt resource value: 0x7f020076
|
||||
public const int avd_hide_password_1 = 2130837622;
|
||||
|
||||
// aapt resource value: 0x7f020077
|
||||
public const int avd_hide_password_2 = 2130837623;
|
||||
|
||||
// aapt resource value: 0x7f020078
|
||||
public const int avd_hide_password_3 = 2130837624;
|
||||
public const int avd_hide_password_1 = 2130837624;
|
||||
|
||||
// aapt resource value: 0x7f020079
|
||||
public const int avd_hide_password_2 = 2130837625;
|
||||
|
||||
// aapt resource value: 0x7f02007a
|
||||
public const int avd_hide_password_3 = 2130837626;
|
||||
|
||||
// aapt resource value: 0x7f020054
|
||||
public const int avd_show_password = 2130837588;
|
||||
|
||||
// aapt resource value: 0x7f020079
|
||||
public const int avd_show_password_1 = 2130837625;
|
||||
|
||||
// aapt resource value: 0x7f02007a
|
||||
public const int avd_show_password_2 = 2130837626;
|
||||
|
||||
// aapt resource value: 0x7f02007b
|
||||
public const int avd_show_password_3 = 2130837627;
|
||||
public const int avd_show_password_1 = 2130837627;
|
||||
|
||||
// aapt resource value: 0x7f02007c
|
||||
public const int avd_show_password_2 = 2130837628;
|
||||
|
||||
// aapt resource value: 0x7f02007d
|
||||
public const int avd_show_password_3 = 2130837629;
|
||||
|
||||
// aapt resource value: 0x7f020055
|
||||
public const int design_bottom_navigation_item_background = 2130837589;
|
||||
@@ -2335,52 +2335,58 @@ namespace MusicApp
|
||||
public const int navigation_empty_icon = 2130837605;
|
||||
|
||||
// aapt resource value: 0x7f020066
|
||||
public const int notification_action_background = 2130837606;
|
||||
public const int noAlbum = 2130837606;
|
||||
|
||||
// aapt resource value: 0x7f020067
|
||||
public const int notification_bg = 2130837607;
|
||||
public const int notification_action_background = 2130837607;
|
||||
|
||||
// aapt resource value: 0x7f020068
|
||||
public const int notification_bg_low = 2130837608;
|
||||
public const int notification_bg = 2130837608;
|
||||
|
||||
// aapt resource value: 0x7f020069
|
||||
public const int notification_bg_low_normal = 2130837609;
|
||||
public const int notification_bg_low = 2130837609;
|
||||
|
||||
// aapt resource value: 0x7f02006a
|
||||
public const int notification_bg_low_pressed = 2130837610;
|
||||
public const int notification_bg_low_normal = 2130837610;
|
||||
|
||||
// aapt resource value: 0x7f02006b
|
||||
public const int notification_bg_normal = 2130837611;
|
||||
public const int notification_bg_low_pressed = 2130837611;
|
||||
|
||||
// aapt resource value: 0x7f02006c
|
||||
public const int notification_bg_normal_pressed = 2130837612;
|
||||
public const int notification_bg_normal = 2130837612;
|
||||
|
||||
// aapt resource value: 0x7f02006d
|
||||
public const int notification_icon_background = 2130837613;
|
||||
|
||||
// aapt resource value: 0x7f020074
|
||||
public const int notification_template_icon_bg = 2130837620;
|
||||
|
||||
// aapt resource value: 0x7f020075
|
||||
public const int notification_template_icon_low_bg = 2130837621;
|
||||
public const int notification_bg_normal_pressed = 2130837613;
|
||||
|
||||
// aapt resource value: 0x7f02006e
|
||||
public const int notification_tile_bg = 2130837614;
|
||||
public const int notification_icon_background = 2130837614;
|
||||
|
||||
// aapt resource value: 0x7f020076
|
||||
public const int notification_template_icon_bg = 2130837622;
|
||||
|
||||
// aapt resource value: 0x7f020077
|
||||
public const int notification_template_icon_low_bg = 2130837623;
|
||||
|
||||
// aapt resource value: 0x7f02006f
|
||||
public const int notify_panel_notification_icon_bg = 2130837615;
|
||||
public const int notification_tile_bg = 2130837615;
|
||||
|
||||
// aapt resource value: 0x7f020070
|
||||
public const int PlaylistPlay = 2130837616;
|
||||
public const int notify_panel_notification_icon_bg = 2130837616;
|
||||
|
||||
// aapt resource value: 0x7f020071
|
||||
public const int PlaylistPlayIcon = 2130837617;
|
||||
public const int PlaylistAdd = 2130837617;
|
||||
|
||||
// aapt resource value: 0x7f020072
|
||||
public const int search = 2130837618;
|
||||
public const int PlaylistPlay = 2130837618;
|
||||
|
||||
// aapt resource value: 0x7f020073
|
||||
public const int settings = 2130837619;
|
||||
public const int PlaylistPlayIcon = 2130837619;
|
||||
|
||||
// aapt resource value: 0x7f020074
|
||||
public const int search = 2130837620;
|
||||
|
||||
// aapt resource value: 0x7f020075
|
||||
public const int settings = 2130837621;
|
||||
|
||||
static Drawable()
|
||||
{
|
||||
@@ -2458,8 +2464,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f07001e
|
||||
public const int add = 2131165214;
|
||||
|
||||
// aapt resource value: 0x7f0700ba
|
||||
public const int albumArt = 2131165370;
|
||||
// aapt resource value: 0x7f0700c0
|
||||
public const int albumArt = 2131165376;
|
||||
|
||||
// aapt resource value: 0x7f070058
|
||||
public const int alertTitle = 2131165272;
|
||||
@@ -2470,8 +2476,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070023
|
||||
public const int always = 2131165219;
|
||||
|
||||
// aapt resource value: 0x7f0700bb
|
||||
public const int artist = 2131165371;
|
||||
// aapt resource value: 0x7f0700c1
|
||||
public const int artist = 2131165377;
|
||||
|
||||
// aapt resource value: 0x7f07002f
|
||||
public const int auto = 2131165231;
|
||||
@@ -2485,8 +2491,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f07008c
|
||||
public const int bottomView = 2131165324;
|
||||
|
||||
// aapt resource value: 0x7f0700c0
|
||||
public const int browseLayout = 2131165376;
|
||||
// aapt resource value: 0x7f0700c6
|
||||
public const int browseLayout = 2131165382;
|
||||
|
||||
// aapt resource value: 0x7f070073
|
||||
public const int browseList = 2131165299;
|
||||
@@ -2530,17 +2536,17 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f07008b
|
||||
public const int contentView = 2131165323;
|
||||
|
||||
// aapt resource value: 0x7f0700af
|
||||
public const int controllerLast = 2131165359;
|
||||
// aapt resource value: 0x7f0700b5
|
||||
public const int controllerLast = 2131165365;
|
||||
|
||||
// aapt resource value: 0x7f0700b1
|
||||
public const int controllerNext = 2131165361;
|
||||
// aapt resource value: 0x7f0700b7
|
||||
public const int controllerNext = 2131165367;
|
||||
|
||||
// aapt resource value: 0x7f0700b0
|
||||
public const int controllerPlay = 2131165360;
|
||||
// aapt resource value: 0x7f0700b6
|
||||
public const int controllerPlay = 2131165366;
|
||||
|
||||
// aapt resource value: 0x7f0700b2
|
||||
public const int controllerTitle = 2131165362;
|
||||
// aapt resource value: 0x7f0700b8
|
||||
public const int controllerTitle = 2131165368;
|
||||
|
||||
// aapt resource value: 0x7f070078
|
||||
public const int coordinator = 2131165304;
|
||||
@@ -2575,11 +2581,11 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070012
|
||||
public const int disableHome = 2131165202;
|
||||
|
||||
// aapt resource value: 0x7f0700ad
|
||||
public const int downFAB = 2131165357;
|
||||
// aapt resource value: 0x7f0700b3
|
||||
public const int downFAB = 2131165363;
|
||||
|
||||
// aapt resource value: 0x7f0700c1
|
||||
public const int downloadLayout = 2131165377;
|
||||
// aapt resource value: 0x7f0700c7
|
||||
public const int downloadLayout = 2131165383;
|
||||
|
||||
// aapt resource value: 0x7f070066
|
||||
public const int edit_query = 2131165286;
|
||||
@@ -2638,8 +2644,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070049
|
||||
public const int icon = 2131165257;
|
||||
|
||||
// aapt resource value: 0x7f0700b3
|
||||
public const int icon_frame = 2131165363;
|
||||
// aapt resource value: 0x7f0700b9
|
||||
public const int icon_frame = 2131165369;
|
||||
|
||||
// aapt resource value: 0x7f07009f
|
||||
public const int icon_group = 2131165343;
|
||||
@@ -2653,8 +2659,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f07009b
|
||||
public const int info = 2131165339;
|
||||
|
||||
// aapt resource value: 0x7f0700aa
|
||||
public const int infoPanel = 2131165354;
|
||||
// aapt resource value: 0x7f0700ab
|
||||
public const int infoPanel = 2131165355;
|
||||
|
||||
// aapt resource value: 0x7f070000
|
||||
public const int item_touch_helper_previous_elevation = 2131165184;
|
||||
@@ -2662,8 +2668,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070076
|
||||
public const int largeLabel = 2131165302;
|
||||
|
||||
// aapt resource value: 0x7f0700a7
|
||||
public const int lastButton = 2131165351;
|
||||
// aapt resource value: 0x7f0700a6
|
||||
public const int lastButton = 2131165350;
|
||||
|
||||
// aapt resource value: 0x7f070034
|
||||
public const int left = 2131165236;
|
||||
@@ -2671,14 +2677,14 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0700a0
|
||||
public const int line1 = 2131165344;
|
||||
|
||||
// aapt resource value: 0x7f0700bc
|
||||
public const int line2 = 2131165372;
|
||||
// aapt resource value: 0x7f0700c2
|
||||
public const int line2 = 2131165378;
|
||||
|
||||
// aapt resource value: 0x7f0700a2
|
||||
public const int line3 = 2131165346;
|
||||
|
||||
// aapt resource value: 0x7f0700b5
|
||||
public const int list = 2131165365;
|
||||
// aapt resource value: 0x7f0700bb
|
||||
public const int list = 2131165371;
|
||||
|
||||
// aapt resource value: 0x7f07000f
|
||||
public const int listMode = 2131165199;
|
||||
@@ -2686,8 +2692,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070048
|
||||
public const int list_item = 2131165256;
|
||||
|
||||
// aapt resource value: 0x7f0700be
|
||||
public const int masked = 2131165374;
|
||||
// aapt resource value: 0x7f0700c4
|
||||
public const int masked = 2131165380;
|
||||
|
||||
// aapt resource value: 0x7f070094
|
||||
public const int media_actions = 2131165332;
|
||||
@@ -2701,8 +2707,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070019
|
||||
public const int multiply = 2131165209;
|
||||
|
||||
// aapt resource value: 0x7f0700bf
|
||||
public const int musicLayout = 2131165375;
|
||||
// aapt resource value: 0x7f0700c5
|
||||
public const int musicLayout = 2131165381;
|
||||
|
||||
// aapt resource value: 0x7f07007d
|
||||
public const int navigation_header_container = 2131165309;
|
||||
@@ -2710,8 +2716,20 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070026
|
||||
public const int never = 2131165222;
|
||||
|
||||
// aapt resource value: 0x7f0700a9
|
||||
public const int nextButton = 2131165353;
|
||||
// aapt resource value: 0x7f0700af
|
||||
public const int nextArt = 2131165359;
|
||||
|
||||
// aapt resource value: 0x7f0700b1
|
||||
public const int nextArtist = 2131165361;
|
||||
|
||||
// aapt resource value: 0x7f0700a8
|
||||
public const int nextButton = 2131165352;
|
||||
|
||||
// aapt resource value: 0x7f0700ae
|
||||
public const int nextSong = 2131165358;
|
||||
|
||||
// aapt resource value: 0x7f0700b0
|
||||
public const int nextTitle = 2131165360;
|
||||
|
||||
// aapt resource value: 0x7f07008d
|
||||
public const int noPlaylist = 2131165325;
|
||||
@@ -2743,26 +2761,29 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070038
|
||||
public const int pin = 2131165240;
|
||||
|
||||
// aapt resource value: 0x7f0700a8
|
||||
public const int playButton = 2131165352;
|
||||
// aapt resource value: 0x7f0700a7
|
||||
public const int playButton = 2131165351;
|
||||
|
||||
// aapt resource value: 0x7f0700a5
|
||||
public const int playerAlbum = 2131165349;
|
||||
|
||||
// aapt resource value: 0x7f0700ad
|
||||
public const int playerArtist = 2131165357;
|
||||
|
||||
// aapt resource value: 0x7f0700b4
|
||||
public const int playerControl = 2131165364;
|
||||
|
||||
// aapt resource value: 0x7f0700aa
|
||||
public const int playerPlaylistAdd = 2131165354;
|
||||
|
||||
// aapt resource value: 0x7f0700a9
|
||||
public const int playerSleep = 2131165353;
|
||||
|
||||
// aapt resource value: 0x7f0700ac
|
||||
public const int playerArtist = 2131165356;
|
||||
public const int playerTitle = 2131165356;
|
||||
|
||||
// aapt resource value: 0x7f0700ae
|
||||
public const int playerControl = 2131165358;
|
||||
|
||||
// aapt resource value: 0x7f0700a6
|
||||
public const int playerSleep = 2131165350;
|
||||
|
||||
// aapt resource value: 0x7f0700ab
|
||||
public const int playerTitle = 2131165355;
|
||||
|
||||
// aapt resource value: 0x7f0700c2
|
||||
public const int playlistLayout = 2131165378;
|
||||
// aapt resource value: 0x7f0700c8
|
||||
public const int playlistLayout = 2131165384;
|
||||
|
||||
// aapt resource value: 0x7f070074
|
||||
public const int playlistName = 2131165300;
|
||||
@@ -2803,8 +2824,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070040
|
||||
public const int scrollable = 2131165248;
|
||||
|
||||
// aapt resource value: 0x7f0700b9
|
||||
public const int search = 2131165369;
|
||||
// aapt resource value: 0x7f0700bf
|
||||
public const int search = 2131165375;
|
||||
|
||||
// aapt resource value: 0x7f070068
|
||||
public const int search_badge = 2131165288;
|
||||
@@ -2836,17 +2857,17 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f070071
|
||||
public const int search_voice_btn = 2131165297;
|
||||
|
||||
// aapt resource value: 0x7f0700b6
|
||||
public const int seekbar = 2131165366;
|
||||
// aapt resource value: 0x7f0700bc
|
||||
public const int seekbar = 2131165372;
|
||||
|
||||
// aapt resource value: 0x7f0700b7
|
||||
public const int seekbar_value = 2131165367;
|
||||
// aapt resource value: 0x7f0700bd
|
||||
public const int seekbar_value = 2131165373;
|
||||
|
||||
// aapt resource value: 0x7f070072
|
||||
public const int select_dialog_listview = 2131165298;
|
||||
|
||||
// aapt resource value: 0x7f0700c3
|
||||
public const int settings = 2131165379;
|
||||
// aapt resource value: 0x7f0700c9
|
||||
public const int settings = 2131165385;
|
||||
|
||||
// aapt resource value: 0x7f07005c
|
||||
public const int shortcut = 2131165276;
|
||||
@@ -2872,11 +2893,14 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f07002e
|
||||
public const int snap = 2131165230;
|
||||
|
||||
// aapt resource value: 0x7f0700b2
|
||||
public const int songTimer = 2131165362;
|
||||
|
||||
// aapt resource value: 0x7f07004c
|
||||
public const int spacer = 2131165260;
|
||||
|
||||
// aapt resource value: 0x7f0700b4
|
||||
public const int spinner = 2131165364;
|
||||
// aapt resource value: 0x7f0700ba
|
||||
public const int spinner = 2131165370;
|
||||
|
||||
// aapt resource value: 0x7f070008
|
||||
public const int split_action_bar = 2131165192;
|
||||
@@ -2902,8 +2926,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f07006f
|
||||
public const int submit_area = 2131165295;
|
||||
|
||||
// aapt resource value: 0x7f0700b8
|
||||
public const int switchWidget = 2131165368;
|
||||
// aapt resource value: 0x7f0700be
|
||||
public const int switchWidget = 2131165374;
|
||||
|
||||
// aapt resource value: 0x7f070011
|
||||
public const int tabMode = 2131165201;
|
||||
@@ -2974,8 +2998,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f07000e
|
||||
public const int view_offset_helper = 2131165198;
|
||||
|
||||
// aapt resource value: 0x7f0700bd
|
||||
public const int visible = 2131165373;
|
||||
// aapt resource value: 0x7f0700c3
|
||||
public const int visible = 2131165379;
|
||||
|
||||
// aapt resource value: 0x7f070027
|
||||
public const int withText = 2131165223;
|
||||
|
||||
BIN
MusicApp/Resources/drawable/PlaylistAdd.png
Normal file
BIN
MusicApp/Resources/drawable/PlaylistAdd.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 275 B |
BIN
MusicApp/Resources/drawable/noAlbum.jpg
Normal file
BIN
MusicApp/Resources/drawable/noAlbum.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.6 KiB |
@@ -20,43 +20,61 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="fitCenter"
|
||||
android:adjustViewBounds="true" />
|
||||
<ImageButton
|
||||
android:id="@+id/playerSleep"
|
||||
android:background="@drawable/ic_timer_white_24dp"
|
||||
android:layout_width="35dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_gravity="top|center"
|
||||
android:paddingTop="280dp" />
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content" >
|
||||
<ImageButton
|
||||
android:id="@+id/lastButton"
|
||||
android:background="@null"
|
||||
android:tint="#ffffff"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:src="@drawable/ic_skip_previous_black_24dp"/>
|
||||
<ImageButton
|
||||
android:id="@+id/playButton"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginLeft="50dp"
|
||||
android:background="@null"
|
||||
android:layout_marginRight="50dp"
|
||||
android:layout_gravity="center"
|
||||
android:tint="#ffffff"
|
||||
android:src="@drawable/ic_pause_black_24dp"/>
|
||||
<ImageButton
|
||||
android:id="@+id/nextButton"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:background="@null"
|
||||
android:tint="#ffffff"
|
||||
android:src="@drawable/ic_skip_next_black_24dp"/>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content" >
|
||||
<ImageButton
|
||||
android:id="@+id/lastButton"
|
||||
android:background="@null"
|
||||
android:tint="#ffffff"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:src="@drawable/ic_skip_previous_black_24dp"/>
|
||||
<ImageButton
|
||||
android:id="@+id/playButton"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginLeft="50dp"
|
||||
android:background="@null"
|
||||
android:layout_marginRight="50dp"
|
||||
android:layout_gravity="center"
|
||||
android:tint="#ffffff"
|
||||
android:src="@drawable/ic_pause_black_24dp"/>
|
||||
<ImageButton
|
||||
android:id="@+id/nextButton"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:background="@null"
|
||||
android:tint="#ffffff"
|
||||
android:src="@drawable/ic_skip_next_black_24dp"/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content" >
|
||||
<ImageButton
|
||||
android:id="@+id/playerSleep"
|
||||
android:src="@drawable/ic_timer_white_24dp"
|
||||
android:background="@null"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:paddingRight="35dp" />
|
||||
<ImageButton
|
||||
android:id="@+id/playerPlaylistAdd"
|
||||
android:src="@drawable/PlaylistAdd"
|
||||
android:background="@null"
|
||||
android:tint="#ffffff"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:paddingLeft="35dp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
<LinearLayout
|
||||
@@ -105,7 +123,51 @@
|
||||
android:textSize="20sp"
|
||||
android:textColor="#FFFFFF"/>
|
||||
</LinearLayout>
|
||||
<RelativeLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/nextSong"
|
||||
android:padding="8dp">
|
||||
<ImageView
|
||||
android:id="@+id/nextArt"
|
||||
android:layout_width="90dp"
|
||||
android:layout_height="90dp"
|
||||
android:padding="5dp"
|
||||
android:src="@drawable/MusicIcon"
|
||||
android:layout_alignParentLeft="true" />
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="14dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="100dp">
|
||||
<TextView
|
||||
android:id="@+id/nextTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#000"
|
||||
android:textSize="16dip"
|
||||
android:textStyle="bold" />
|
||||
<TextView
|
||||
android:id="@+id/nextArtist"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14dip"
|
||||
android:textColor="#000" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout >
|
||||
</LinearLayout>
|
||||
<SeekBar
|
||||
android:id="@+id/songTimer"
|
||||
app:layout_anchor="@id/playerAlbum"
|
||||
app:layout_anchorGravity="bottom|center"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="0dp"
|
||||
android:paddingEnd="0dp"
|
||||
android:paddingStart="0dp"
|
||||
app:elevation="6dp"
|
||||
android:progress="0"/>
|
||||
<android.support.design.widget.FloatingActionButton
|
||||
android:id="@+id/downFAB"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -114,7 +176,9 @@
|
||||
app:layout_anchorGravity="bottom|center"
|
||||
android:layout_margin="10dip"
|
||||
app:elevation="12dp"
|
||||
app:fabSize="mini"
|
||||
app:borderWidth="0dp"
|
||||
android:paddingTop="20dp"
|
||||
app:backgroundTint="#4cb5ae"
|
||||
android:src="@drawable/ic_expand_more_black_24dp" />
|
||||
android:src="@drawable/ic_expand_less_black_24dp" />
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
||||
Reference in New Issue
Block a user