using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using Shared;
|
using System.Xml;
|
using Shared.SimpleControl.R;
|
|
namespace Shared.SimpleControl.Phone.Music
|
{
|
/// <summary>
|
/// 网络流媒体音乐界面
|
/// </summary>
|
class A31StreamingMusic : FrameLayout
|
{
|
/// <summary>
|
/// 流行
|
/// </summary>
|
Button popular;
|
|
/// <summary>
|
/// 民歌
|
/// </summary>
|
Button ballad;
|
|
/// <summary>
|
/// 摇滚
|
/// </summary>
|
Button rock;
|
|
/// <summary>
|
/// 古典
|
/// </summary>
|
Button classical;
|
|
|
public void Show(A31MusicModel a31)
|
{
|
BackgroundColor = 0XFF2F2F2F;
|
|
AddChidren(new Button
|
{
|
Height = Application.GetRealHeight(30),
|
BackgroundColor = SkinStyle.Current.MainColor,
|
});
|
|
var topFrameLayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(100),
|
Y = Application.GetRealHeight(30),
|
BackgroundColor = SkinStyle.Current.MainColor,
|
};
|
AddChidren(topFrameLayout);
|
|
var btnTitle = new Button
|
{
|
TextID = MyInternationalizationString.streamingmusic,
|
};
|
topFrameLayout.AddChidren(btnTitle);
|
|
var back = new Button
|
{
|
Width = Application.GetRealWidth(82),
|
Height = Application.GetRealHeight(89),
|
X = Application.GetRealWidth(10),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "MusicIcon/HomepageBack.png",
|
};
|
topFrameLayout.AddChidren(back);
|
back.MouseDownEventHandler += (sender, e) =>
|
{
|
RemoveFromParent();
|
};
|
|
var hdl = new Button
|
{
|
Width = Application.GetRealWidth(104),
|
Height = Application.GetRealHeight(32),
|
X = Application.GetRealWidth(530),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "MusicIcon/HDL.png",
|
};
|
topFrameLayout.AddChidren(hdl);
|
|
var framelayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(100),
|
Y = topFrameLayout.Bottom,
|
BackgroundColor = 0XFF121212,
|
};
|
AddChidren(framelayout);
|
|
popular = new Button
|
{
|
Width = Application.GetRealWidth(640 / 4),
|
Height = Application.GetRealHeight(100),
|
TextID = MyInternationalizationString.Musicpopular,
|
};
|
framelayout.AddChidren(popular);
|
popular.MouseUpEventHandler += (sender, e) =>
|
{
|
popular.TextColor = 0xffFE5E00;
|
ballad.TextColor = 0xFFFFFFFF;
|
rock.TextColor = 0xFFFFFFFF;
|
classical.TextColor = 0xFFFFFFFF;
|
};
|
|
ballad = new Button
|
{
|
Width = Application.GetRealWidth(640 / 4),
|
Height = Application.GetRealHeight(100),
|
TextID = MyInternationalizationString.Musicballad,
|
X = popular.Right,
|
};
|
framelayout.AddChidren(ballad);
|
ballad.MouseUpEventHandler += (sender, e) =>
|
{
|
popular.TextColor = 0xFFFFFFFF;
|
ballad.TextColor = 0xffFE5E00;
|
rock.TextColor = 0xFFFFFFFF;
|
classical.TextColor = 0xFFFFFFFF;
|
};
|
|
rock = new Button
|
{
|
Width = Application.GetRealWidth(640 / 4),
|
Height = Application.GetRealHeight(100),
|
TextID = MyInternationalizationString.Musicrock,
|
X = ballad.Right,
|
};
|
framelayout.AddChidren(rock);
|
rock.MouseUpEventHandler += (sender, e) =>
|
{
|
popular.TextColor = 0xFFFFFFFF;
|
ballad.TextColor = 0xFFFFFFFF;
|
rock.TextColor = 0xffFE5E00;
|
classical.TextColor = 0xFFFFFFFF;
|
};
|
|
classical = new Button
|
{
|
Width = Application.GetRealWidth(640 / 4),
|
Height = Application.GetRealHeight(100),
|
TextID = MyInternationalizationString.Musicclassical,
|
X = rock.Right,
|
};
|
framelayout.AddChidren(classical);
|
classical.MouseUpEventHandler += (sender, e) =>
|
{
|
popular.TextColor = 0xFFFFFFFF;
|
ballad.TextColor = 0xFFFFFFFF;
|
rock.TextColor = 0xFFFFFFFF;
|
classical.TextColor = 0xffFE5E00;
|
};
|
|
var framelayout1 = new FrameLayout
|
{
|
Height = Application.GetRealHeight(130),
|
BackgroundColor = 0XFF2F2F2F,
|
Y = framelayout.Bottom,
|
};
|
AddChidren(framelayout1);
|
|
var etSongName = new EditText
|
{
|
Width = Application.GetRealWidth(400),
|
Height = Application.GetRealHeight(75),
|
Radius = (uint)Application.GetRealHeight(6),
|
Gravity = Gravity.CenterVertical,
|
X = 40,
|
BackgroundColor = 0xFF4D4D4D,
|
};
|
framelayout1.AddChidren(etSongName);
|
|
var btnSerach = new Button
|
{
|
Width = Application.GetRealWidth(120),
|
Height = Application.GetRealHeight(75),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "MusicIcon/seekSelected.png",
|
X = Application.GetRealWidth(530),
|
};
|
framelayout1.AddChidren(btnSerach);
|
|
var btnLine = new Button
|
{
|
Height = Application.GetRealHeight(4),
|
Y = framelayout1.Bottom,
|
UnSelectedImagePath = "MusicIcon/MusicThread.png",
|
};
|
AddChidren(btnLine);
|
|
VerticalScrolViewLayout middle = new VerticalScrolViewLayout()
|
{
|
Y = btnLine.Bottom,
|
Height = Application.GetRealHeight (Application.DesignHeight - 230 - 130),
|
BackgroundColor = 0XFF2F2F2F,
|
};
|
AddChidren(middle);
|
|
btnSerach.MouseUpEventHandler += (sender, e) =>
|
{
|
//清空当前空间界面
|
middle.RemoveAll();
|
var songList = Newtonsoft.Json.JsonConvert.DeserializeObject<A31SongList>(serarchSong(etSongName.Text));
|
int number = 0;
|
foreach (var musicInfo in songList.song)
|
{
|
number++;
|
var iErowL = new RowLayout
|
{
|
Height = Application.GetRealHeight(100),
|
};
|
middle.AddChidren(iErowL);
|
|
var iEtitle = new Button
|
{
|
Width = Application.GetRealWidth(80),
|
Height = Application.GetRealHeight(70),
|
X = Application.GetRealWidth(10),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "MusicIcon/PlayMusic.png",
|
};
|
iErowL.AddChidren(iEtitle);
|
|
var iEmusic = new Button
|
{
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight(100),
|
Text = musicInfo.artistname+"---"+musicInfo.songname,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth(120),
|
Tag = number,
|
};
|
iErowL.AddChidren(iEmusic);
|
}
|
};
|
|
}
|
|
/// <summary>
|
/// 读取歌曲信息
|
/// </summary>
|
/// <param name="songName"></param>
|
/// <returns></returns>
|
string serarchSong(string songName)
|
{
|
System.Net.WebClient webClient=new System.Net.WebClient();
|
try
|
{
|
byte[] recevieBytes = webClient.DownloadData(new Uri("http://tingapi.ting.baidu.com/v1/restserver/ting?format=json&calback=&from=webapp_music&method=baidu.ting.search.catalogSug&query=" + songName));
|
return System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length);
|
}
|
catch
|
{
|
return "";
|
}
|
}
|
|
}
|
}
|