using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace Shared.Phone
|
{
|
/// <summary>
|
/// 位于左下角的单击控件
|
/// </summary>
|
public class BottomLeftClickButton : FrameLayoutStatuControl
|
{
|
#region ■ 变量声明___________________________
|
|
#if Android
|
/// <summary>
|
/// 按钮(没初始化之前,它为null)
|
/// </summary>
|
private NormalViewControl btnButton = null;
|
/// <summary>
|
/// 顶部圆角
|
/// </summary>
|
private NormalViewControl btnTopTemp = null;
|
/// <summary>
|
/// 左下角圆角
|
/// </summary>
|
private NormalViewControl btnBomTemp = null;
|
#endif
|
#if iOS
|
/// <summary>
|
/// 按钮(没初始化之前,它为null)
|
/// </summary>
|
private NormalClickButton btnButton = null;
|
#endif
|
|
#endregion
|
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 位于左下角的单击控件
|
/// </summary>
|
/// <param name="i_width">宽度,真实值</param>
|
/// <param name="i_height">高度,真实值</param>
|
/// <param name="i_radius">圆角度(只对安卓有效)</param>
|
public BottomLeftClickButton(int i_width, int i_height, int i_radius = 17)
|
{
|
this.Height = i_height;
|
this.Width = i_width;
|
this.Gravity = Gravity.BottomLeft;
|
|
#if Android
|
this.RadiusEx = i_radius;
|
#endif
|
}
|
|
/// <summary>
|
/// 初始化控件
|
/// </summary>
|
/// <param name="i_text">文本信息</param>
|
public void InitControl(string i_text)
|
{
|
uint i_backColor = 0xfff5f6fa;
|
#if Android
|
this.BackgroundColor = i_backColor;
|
//把上圆角覆盖为方角
|
this.btnTopTemp = new NormalViewControl(this.Width, Application.GetRealHeight(40), false);
|
btnTopTemp.BackgroundColor = i_backColor;
|
this.AddChidren(btnTopTemp, ChidrenBindMode.BindEvent);
|
//把右下圆角覆盖为方角
|
this.btnBomTemp = new NormalViewControl(this.Width / 2, Application.GetRealHeight(40), false);
|
btnBomTemp.BackgroundColor = i_backColor;
|
btnBomTemp.Gravity = Gravity.BottomRight;
|
this.AddChidren(btnBomTemp, ChidrenBindMode.BindEvent);
|
//取消按钮
|
this.btnButton = new NormalViewControl(this.Width - Application.GetRealWidth(10), Application.GetRealHeight(60), false);
|
btnButton.Gravity = Gravity.Center;
|
btnButton.TextColor = UserCenterColor.Current.TextGrayColor1;
|
btnButton.Text = i_text;
|
btnButton.TextAlignment = TextAlignment.Center;
|
btnButton.BackgroundColor = i_backColor;
|
this.AddChidren(btnButton, ChidrenBindMode.BindEvent);
|
|
//重写控件点击状态
|
this.SelectStatuEvent += (statu) =>
|
{
|
if (statu == true)
|
{
|
this.BackgroundColor = UserCenterColor.Current.ButtonClickStatuColor;
|
btnTopTemp.BackgroundColor = UserCenterColor.Current.ButtonClickStatuColor;
|
btnBomTemp.BackgroundColor = UserCenterColor.Current.ButtonClickStatuColor;
|
btnButton.BackgroundColor = UserCenterColor.Current.ButtonClickStatuColor;
|
}
|
else
|
{
|
this.BackgroundColor = i_backColor;
|
btnTopTemp.BackgroundColor = i_backColor;
|
btnBomTemp.BackgroundColor = i_backColor;
|
btnButton.BackgroundColor = i_backColor;
|
}
|
};
|
#endif
|
#if iOS
|
//取消按钮
|
this.btnButton = new NormalClickButton(this.Width, this.Height, false);
|
btnButton.Gravity = Gravity.BottomLeft;
|
btnButton.TextColor = UserCenterColor.Current.TextGrayColor1;
|
btnButton.Text = i_text;
|
btnButton.TextAlignment = TextAlignment.Center;
|
btnButton.BackgroundColor = i_backColor;
|
btnButton.oldBackgroundColor = i_backColor;
|
this.AddChidren(btnButton, ChidrenBindMode.BindEvent);
|
#endif
|
}
|
|
#endregion
|
|
#region ■ 一般方法___________________________
|
|
/// <summary>
|
/// 设置按钮的文本信息
|
/// </summary>
|
/// <param name="txtValue"></param>
|
public void SetButtonText(string txtValue)
|
{
|
if (this.btnButton != null)
|
{
|
this.btnButton.Text = txtValue;
|
}
|
}
|
|
#endregion
|
}
|
}
|