using HDL_ON.UI.Music;
using System;
using Shared;
namespace HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView
{
public class TypeSingleFramLayout
{
///
/// 是否可以点击
///
private bool mIsClick = true;
///
/// 设置控制点击事件
///
/// false点击无效
public void setClick(bool isClick)
{
this.mIsClick = isClick;
}
private uint UpBackgroundColor = MusicColor.ViewColor;
private uint DownBackgroundColor = AksCommonMethod.seleBackgroundColor;
///
/// 单个类型容器
///
public FrameLayout singleFramLayout = new FrameLayout
{
BackgroundColor = MusicColor.ViewColor,
//Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(101),
Height = Application.GetRealHeight(34),//40
Radius = (uint)Application.GetRealHeight(17),
};
public Button btnLeftImage = new Button
{
X = Application.GetRealWidth(16),
Width = Application.GetRealWidth(16),
Height = Application.GetRealWidth(16),
UnSelectedImagePath = "AksIcon/yingku.png",
Gravity = Gravity.CenterVertical,
Name = "btnLeftImage",
};
public Button btnName = new Button
{
Width = Application.GetRealWidth(32),
Height = Application.GetRealHeight(23),
TextID = StringId.yingku,
TextSize = TextSize.Text16,
TextColor = MusicColor.TextColor,
TextAlignment = TextAlignment.Center,
Gravity = Gravity.CenterVertical,
IsMoreLines = true,
Padding=new Padding(0,0,0,0),
Name = "btnName",
};
public Button btnRightImage = new Button
{
Width = Application.GetRealWidth(5),
Height = Application.GetRealWidth(8),
UnSelectedImagePath = "AksIcon/yingkunext.png",
Gravity = Gravity.CenterVertical,
Name = "btnRightImage",
};
public void AddView(FrameLayout layout)
{
layout.AddChidren(singleFramLayout);
singleFramLayout.AddChidren(btnLeftImage);
singleFramLayout.AddChidren(btnName);
singleFramLayout.AddChidren(btnRightImage);
btnName.X = btnLeftImage.Right + Application.GetRealWidth(4);
btnRightImage.X = btnName.Right + Application.GetRealWidth(8);
}
public void SetClickUpBackgroundColor(uint backgroundColor)
{
this.UpBackgroundColor = backgroundColor;
}
public void SetClickDownBackgroundColor(uint backgroundColor)
{
this.DownBackgroundColor = backgroundColor;
}
///
/// 事件监听方法
///
/// 回调(第一个是父类对象;
public void SetClickListener(Action action)
{
EventHandler UpClick = (sender, e) =>
{
action?.Invoke(singleFramLayout);
//singleFramLayout.BackgroundColor = this.UpBackgroundColor;
//弹起来还原背景颜色
};
singleFramLayout.MouseUpEventHandler += UpClick;
btnLeftImage.MouseUpEventHandler += UpClick;
btnName.MouseUpEventHandler += UpClick;
btnRightImage.MouseUpEventHandler += UpClick;
EventHandler DownClick = (sender, e) =>
{
//按下去改变背景颜色
//singleFramLayout.BackgroundColor = this.DownBackgroundColor;
};
singleFramLayout.MouseDownEventHandler += DownClick;
btnLeftImage.MouseDownEventHandler += DownClick;
btnName.MouseDownEventHandler += DownClick;
btnRightImage.MouseDownEventHandler += DownClick;
}
}
}