using System;
|
using Shared;
|
namespace HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView
|
{
|
public class BaseFramLayout : FrameLayout
|
{
|
public BaseFramLayout()
|
{
|
}
|
/// <summary>
|
/// 是否可以点击
|
/// </summary>
|
private bool mIsClick = true;
|
|
/// <summary>
|
/// 设置控制点击事件
|
/// </summary>
|
/// <param name="isClick">false点击无效</param>
|
public void SetClick(bool isClick)
|
{
|
this.mIsClick = isClick;
|
}
|
/// <summary>
|
/// 设置控制点击事件
|
/// </summary>
|
/// <param name="isClick">false点击无效</param>
|
public bool GetClick()
|
{
|
return this.mIsClick;
|
}
|
|
/// <summary>
|
/// 延时时间ms
|
/// </summary>
|
public const int millisecondsTimeout = 100;
|
|
/// <summary>
|
/// 选中颜色
|
/// </summary>
|
public const uint seleBackgroundColor = 0xFFF2F3F7;
|
/// <summary>
|
/// 不支持按键文本颜色
|
/// </summary>
|
public const uint unBackgroundColor = 0xFFA3AAB7;
|
/// <summary>
|
/// 不支持整个颜色
|
/// </summary>
|
public const uint unParentBackgroundColor = 0xFFF2F3F7;
|
|
/// <summary>
|
/// 调整真实高度
|
/// </summary>
|
/// <param name="bottomSpace">底部高度(非真实值)</param>
|
public void AdjustRealHeight(int bottomSpace = 0)
|
{
|
int bottomHeight = -1;
|
|
for (int i = 0; i < this.ChildrenCount; i++)
|
{
|
var child = this.GetChildren(i);
|
if (child.Bottom > bottomHeight)
|
{
|
bottomHeight = child.Bottom;
|
}
|
}
|
if (bottomHeight != -1)
|
{
|
this.Height = bottomHeight + Application.GetRealHeight(bottomSpace);
|
}
|
}
|
|
/// <summary>
|
/// 获取坐标底部最下面的那个控件的底部坐标
|
/// </summary>
|
/// <returns></returns>
|
public int GetLocationMostLastViewBottom()
|
{
|
int bottomHeight = -1;
|
|
for (int i = 0; i < this.ChildrenCount; i++)
|
{
|
var child = this.GetChildren(i);
|
if (child.Bottom > bottomHeight)
|
{
|
bottomHeight = child.Bottom;
|
}
|
}
|
return bottomHeight;
|
}
|
/// <summary>
|
/// 设置高亮颜色(grb)
|
/// </summary>
|
/// <param name="seleColor">选中颜色值</param>
|
/// <param name="unColor">未选中颜色值</param>
|
/// <param name="view">组件</param>
|
public void SetHighlightColor(View view, uint seleColor =seleBackgroundColor, uint unColor = 0x00000000)
|
{
|
if (view == null)
|
{
|
return;
|
}
|
//按下去改变背景颜色
|
view.BackgroundColor = seleColor;
|
new System.Threading.Thread(() =>
|
{
|
System.Threading.Thread.Sleep(millisecondsTimeout);
|
Application.RunOnMainThread(() =>
|
{
|
//弹起来还原背景颜色
|
view.BackgroundColor = unColor;
|
});
|
})
|
{ IsBackground = true }.Start();
|
|
}
|
|
/// <summary>
|
/// 设置Button专用
|
/// </summary>
|
/// <param name="button">组件</param>
|
public void SetButtonIsSelected(Button button)
|
{
|
if (button == null)
|
{
|
return;
|
}
|
//按下去改变背景颜色
|
button.IsSelected = true;
|
new System.Threading.Thread(() =>
|
{
|
System.Threading.Thread.Sleep(millisecondsTimeout);
|
Application.RunOnMainThread(() =>
|
{
|
//弹起来还原背景颜色
|
button.IsSelected = false;
|
});
|
})
|
{ IsBackground = true }.Start();
|
|
}
|
|
/// <summary>
|
/// 设置高亮背景图标
|
/// </summary>
|
/// <param name="sele">选中图片路径</param>
|
/// <param name="unColor">未选中图片路径<</param>
|
/// <param name="view">组件</param>
|
public void SetHighlightImagePath(FrameLayout frame, string seleImagePath, string unImagePath)
|
{
|
if (frame == null)
|
{
|
return;
|
}
|
//按下去改变背景颜色
|
frame.BackgroundImagePath = seleImagePath;
|
new System.Threading.Thread(() =>
|
{
|
System.Threading.Thread.Sleep(millisecondsTimeout);
|
Application.RunOnMainThread(() =>
|
{
|
//弹起来还原背景颜色
|
frame.BackgroundImagePath = unImagePath;
|
});
|
})
|
{ IsBackground = true }.Start();
|
|
}
|
|
|
|
}
|
|
|
}
|