xm
2020-12-14 d6fb0646531172f23648441c224cdcccd721b894
ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionDirectoryListForm.cs
New file
@@ -0,0 +1,170 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace Shared.Phone.UserCenter.HideOption
{
    /// <summary>
    /// 本地缓存文件夹列表的界面
    /// </summary>
    public class HideOptionDirectoryListForm : EditorCommonForm
    {
        #region ■ 变量声明___________________________
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        public void ShowForm()
        {
            //设置头部信息
            base.SetTitleText("文件夹列表");
            //初始化中部信息
            this.InitMiddleFrame();
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private void InitMiddleFrame()
        {
            var listView = new VerticalListControl(23);
            listView.BackgroundColor = UserCenterColor.Current.White;
            listView.Height = bodyFrameLayout.Height;
            bodyFrameLayout.AddChidren(listView);
            Type type = typeof(DirNameResourse);
            var PropertyList = type.GetProperties();
            var listFile = new List<System.Reflection.PropertyInfo>();
            foreach (var item in PropertyList)
            {
                if (item.Name.EndsWith("Directory") == true)
                {
                    listFile.Add(item);
                }
            }
            for (int i = 0; i < listFile.Count; i++)
            {
                var item = listFile[i];
                this.AddRowControl(listView, item.Name, item.GetValue(null).ToString(), true);
            }
            //本地文件
            var row1 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row1);
            row1.AddLeftCaption("根目录文件", 800);
            row1.AddRightArrow();
            row1.AddBottomLine();
            row1.ButtonClickEvent += (sender, e) =>
            {
                var form = new HideOptionSearchAllFile();
                form.AddForm(Common.Config.Instance.FullPath);
            };
#if iOS
            //查看全部文件
            var row0 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row0);
            row0.AddLeftCaption("IOS图片", 800);
            row0.AddRightArrow();
            row0.AddBottomLine();
            row0.ButtonClickEvent += (sender, e) =>
            {
                string fileName = "Item/Add.png";
                if (File.Exists(Path.Combine(Application.RootPath, fileName)))
                {
                    var form = new HideOptionSearchAllFile();
                    form.AddForm(Application.RootPath);
                    return;
                }
                string dirPath = string.Empty;
                if (Application.Skin != null)
                {
                    dirPath = Application.Skin + "/" + fileName;
                    if (File.Exists(Path.Combine(Application.RootPath, dirPath)))
                    {
                        var form = new HideOptionSearchAllFile();
                        form.AddForm(Path.Combine(Application.RootPath, Application.Skin + "/"));
                        return;
                    }
                    string text2 = Foundation.NSBundle.MainBundle.PathForResource(dirPath, null);
                    if (text2 != null)
                    {
                        var form = new HideOptionSearchAllFile();
                        form.AddForm(text2.Replace(dirPath, string.Empty));
                        return;
                    }
                }
                else
                {
                    dirPath = "Phone/" + fileName;
                    if (File.Exists(Path.Combine(Application.RootPath, dirPath)))
                    {
                        var form = new HideOptionSearchAllFile();
                        form.AddForm(Path.Combine(Application.RootPath, "Phone/"));
                        return;
                    }
                    string text2 = Foundation.NSBundle.MainBundle.PathForResource(dirPath, null);
                    if (text2 != null)
                    {
                        var form = new HideOptionSearchAllFile();
                        form.AddForm(text2.Replace(dirPath, string.Empty));
                        return;
                    }
                }
            };
#endif
            //查看全部文件
            var row2 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row2);
            row2.AddLeftCaption("查看全部文件", 800);
            row2.AddRightArrow();
            row2.ButtonClickEvent += (sender, e) =>
            {
                var form = new HideOptionSearchAllFile();
                form.AddForm(Shared.IO.FileUtils.RootPath);
            };
            listView.AdjustRealHeight(Application.GetRealHeight(23));
        }
        private void AddRowControl(VerticalListControl listView, string directory, string directoryValue, bool addLine)
        {
            if (System.IO.Directory.Exists(directoryValue) == false)
            {
                return;
            }
            var row1 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row1);
            row1.AddLeftCaption(directory, 800);
            row1.AddRightArrow();
            if (addLine == true)
            {
                row1.AddBottomLine();
            }
            row1.ButtonClickEvent += (sender, e) =>
            {
                var form = new HideOptionSearchAllFile();
                form.AddForm(directoryValue);
            };
        }
        #endregion
        #region ■ 一般方法___________________________
        #endregion
    }
}