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>
|
private const int millisecondsTimeout = 100;
|
|
/// <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>
|
/// 设置高亮颜色
|
/// </summary>
|
/// <param name="view">组件</param>
|
public void SetHighlightBackground(View view)
|
{
|
if (view == null)
|
{
|
return;
|
}
|
//按下去改变背景颜色
|
view.BackgroundColor = AksCommonMethod.seleBackgroundColor;
|
new System.Threading.Thread(() =>
|
{
|
System.Threading.Thread.Sleep(millisecondsTimeout);
|
Application.RunOnMainThread(() =>
|
{
|
//弹起来还原背景颜色
|
view.BackgroundColor = 0x00000000;
|
});
|
})
|
{ 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();
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
}
|