using System;
|
using Shared.Common;
|
namespace Shared.Phone.Device.CommonForm
|
{
|
public class LeftIconButtonRow: FrameLayout
|
{
|
#region ◆ 变量__________________________
|
/// <summary>
|
/// 图片
|
/// </summary>
|
public Button IconButton;
|
/// <summary>
|
/// 标题
|
/// </summary>
|
public Button TitleButton;
|
/// <summary>
|
/// 下划线
|
/// </summary>
|
public FrameLayout Line;
|
/// <summary>
|
/// 点击事件
|
/// </summary>
|
public Action<LeftIconButtonRow, MouseEventArgs> ButtonClickEvent;
|
/// <summary>
|
/// ClickBtn
|
/// </summary>
|
public Button ClickBtn;
|
/// <summary>
|
/// v_Selected
|
/// </summary>
|
private bool v_Selected;
|
|
public bool IsSelected
|
{
|
set
|
{
|
v_Selected = value;
|
try
|
{
|
SetStatu(v_Selected);
|
}
|
catch { };
|
}
|
get
|
{
|
return v_Selected;
|
}
|
}
|
|
#endregion
|
|
public LeftIconButtonRow(int width = 449, int height = 150, int x = 0, int y = 0)
|
{
|
X = x;
|
Y = y;
|
Width = Application.GetRealWidth(width);
|
Height = Application.GetRealHeight(height);
|
}
|
|
#region ◆ 初始化__________________________
|
|
/// <summary>
|
/// Init
|
/// </summary>
|
/// <param name="iconPath">Icon path.</param>
|
/// <param name="iconSelectedPath">Icon selected path.</param>
|
/// <param name="title">Title.</param>
|
public void Init(string iconPath, string iconSelectedPath, string title, bool hadLine = true)
|
{
|
IconButton = new Button()
|
{
|
X = Application.GetRealWidth(80),
|
Height = HdlControlLogic.Current.GetPictrueRealSize(80),
|
Width = HdlControlLogic.Current.GetPictrueRealSize(80),
|
UnSelectedImagePath = iconPath,
|
SelectedImagePath = iconSelectedPath,
|
Gravity = Gravity.CenterVertical,
|
Tag = this.Tag
|
};
|
AddChidren(IconButton);
|
|
TitleButton = new Button()
|
{
|
X = Application.GetRealWidth(173),
|
Height = Application.GetRealHeight(80),
|
Width = Application.GetRealWidth(220),
|
TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
|
SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor,
|
Text = title,
|
TextAlignment = TextAlignment.CenterLeft,
|
Gravity = Gravity.CenterVertical,
|
Tag = this.Tag,
|
TextSize=14
|
};
|
AddChidren(TitleButton);
|
|
Line = new FrameLayout()
|
{
|
X = Application.GetRealWidth(80),
|
Y = this.Height - 1,
|
Width = Application.GetRealWidth(369),
|
Height = 1,
|
BackgroundColor = Common.ZigbeeColor.Current.GXCGrayLineColor2
|
};
|
if (hadLine)
|
{
|
AddChidren(Line);
|
}
|
|
IconButton.MouseUpEventHandler += Button_MouseUpEventHandler;
|
TitleButton.MouseUpEventHandler += Button_MouseUpEventHandler;
|
}
|
#endregion
|
|
#region ◆ 选中状态__________________________
|
|
/// <summary>
|
/// 设置状态
|
/// </summary>
|
/// <param name="statu"></param>
|
private void SetStatu(bool statu)
|
{
|
IconButton.IsSelected = statu;
|
TitleButton.IsSelected = statu;
|
TitleButton.IsBold = statu;
|
}
|
/// <summary>
|
/// 选中
|
/// </summary>
|
public void SetSelectedStatu()
|
{
|
SetStatu(true);
|
}
|
/// <summary>
|
/// 不选中
|
/// </summary>
|
public void SetUnSelectedStatu()
|
{
|
SetStatu(false);
|
}
|
/// <summary>
|
/// HidenLine
|
/// </summary>
|
/// <param name="statu"></param>
|
public void HidenLine(bool statu)
|
{
|
Line.Visible = !statu;
|
}
|
/// <summary>
|
/// 设置标题颜色
|
/// </summary>
|
/// <param name="color"></param>
|
/// <param name="selectedColor"></param>
|
public void SetTitleColor(uint color,uint selectedColor)
|
{
|
TitleButton.TextColor = color;
|
TitleButton.SelectedTextColor = selectedColor;
|
}
|
#endregion
|
|
#region ◆ 点击事件_________________________
|
|
/// <summary>
|
/// 点击事件
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void Button_MouseUpEventHandler(object sender, MouseEventArgs e)
|
{
|
try
|
{
|
this.ButtonClickEvent?.Invoke(this, e);
|
}
|
catch (Exception ex)
|
{
|
}
|
}
|
#endregion
|
}
|
}
|