用html做跨平台应用程序——千丝冥缘应用——跨平台软件开发

一、用网页设计应用程序的优势

1.1界面设计方面

可视化编辑:提供直观的可视化工具,让设计师能够快速创建和布局页面元素,无需深入了解代码。

丰富的组件库:包含各种预定义的组件,如按钮、表单、导航栏等,节省设计时间。

响应式设计支持:轻松实现适应不同屏幕尺寸和设备的布局,确保在多种终端上都有良好的用户体验。

1.2底层交互方面

代码自动生成:在设计过程中自动生成部分前端代码,减少手动编写的工作量。

与后端集成便利:能够方便地与后端语言和框架进行连接,实现数据的交互和处理。

事件驱动编程:通过简单的设置即可为元素添加各种交互事件,如点击、鼠标悬停等。

版本控制支持:有助于跟踪和管理设计的更改,方便团队协作和回滚到之前的版本。

调试和测试工具:提供内置的调试和测试功能,帮助发现和解决交互中的问题。

二、火绒网络检测工具皮肤文件

三、样式

<?xml version="1.0" encoding="utf-8"?>
<Window size="916,616" mininfo="916,616" caption="0,0,-1,48" shadow="gs_shadow8">
	<Defaults xmlfile="res/defaults.xml" shared="true"/>
	<Styles xmlfile="res/styles.xml" shared="true"/>
	<ImageStyles xmlfile="res/images.xml" shared="true"/>
	<Fonts xmlfile="res/fonts.xml"/>
	<Skin xmlfile="%SKINDIR%/gs.xml"/>
	<VerticalLayout>
		<Component xml="cmpt/title.xml"  string="sys_title:huorong_net_diag" visible="btn_sys_shortcut:true" />
		<TabLayout name="tab_main">
			<VerticalLayout inset="32,0,32,55 ">
				<HorizontalLayout height="80" padding="0,8,0,12" childpadding="16" childvalign="vcenter">
					<AniScan name="ani_check" size="80,80" aniwidth="2"
                        normalimg="file='%SKINDIR%/img/netdiag.svg?normal'"
                        normalriskimg="file='%SKINDIR%/img/netdiag.svg?risk'"
                        scanimg="file='%SKINDIR%/img/netdiag.svg?normal_small'"
                        scanriskimg="file='%SKINDIR%/img/netdiag.svg?risk_small'"
                        skin="gs_scan_color"/>
					<TabLayout name="tab_title">
						<!-- 0 首页 -->
						<Component xml="cmpt/title_desc.xml"
                            string="title:check_diag" string="desc:check_diag_desc"
                            stringtip="title:check_diag" stringtip="desc:check_diag_desc"/>
						<!-- 1 检查中 -->
						<Component xml="cmpt/title_desc.xml"
                            string="desc:check_ing_desc_user"
                            userdata="title:check_ing_wait,check_ing_risk"/>
						<!-- 2 检查完成 -->
						<Component xml="cmpt/title_desc.xml"
                            string="title:check_complete" string="desc:diag_complete_desc"
                            stringtip="title:check_complete" stringtip="desc:diag_complete_desc"/>
						<!-- 3 发现异常 -->
						<Component xml="cmpt/title_desc.xml"
                            string="title:find_anomaly_user" string="desc:find_anomaly_desc_user"
                            stringtip="title:find_anomaly_user" stringtip="desc:find_anomaly_desc_user"/>
						<!-- 4 正在修复 -->
						<Component xml="cmpt/title_desc.xml"
                            string="title:diag_ing" string="desc:diag_ing_desc_user"
                            stringtip="title:diag_ing" stringtip="desc:diag_ing_desc_user"/>
						<!-- 5 修复完成 -->
						<Component xml="cmpt/title_desc.xml"
                            string="title:diag_complete" string="desc:diag_complete_desc"
                            stringtip="title:diag_complete" stringtip="desc:diag_complete_desc"/>
						<!-- 6 网卡未启用 -->
						<Component xml="cmpt/title_desc.xml"
                            string="title:netcard_diabled" string="desc:netcard_diabled_desc"
                            stringtip="title:netcard_diabled" stringtip="desc:netcard_diabled_desc"/>
						<!-- 7 重新启用网卡 -->
						<Component xml="cmpt/title_desc.xml"
								   string="title:restarging_netcard" string="desc:restarging_netcard_desc_user"
								   stringtip="title:restarging_netcard" stringtip="desc:restarging_netcard_desc_user"/>
                        <!-- 8 网卡启用失败 -->
                        <Component xml="cmpt/title_desc.xml"
                            string="title:netcard_start_fail" string="desc:netcard_start_fail_desc"
                            stringtip="title:netcard_start_fail" stringtip="desc:netcard_start_fail_desc"
                            visible="common_solution:true"/>
                        <!-- 9 需要手动修复 -->
                        <Component xml="cmpt/title_desc.xml"
                            string="title:anomaly_manual" string="desc:anomaly_manual_desc"
                            stringtip="title:anomaly_manual" stringtip="desc:anomaly_manual_desc"/>
						<!-- 10 正在取消修复 -->
						<Component xml="cmpt/title_desc.xml"
                            string="title:diag_cancel_ing" string="desc:diag_ing_desc_user"
                            stringtip="title:diag_cancel_ing" stringtip="desc:diag_ing_desc_user"/>
                        <!-- 11 部分项目修复失败 -->
                        <Component xml="cmpt/title_desc.xml"
                            string="title:diag_complete_fail" string="desc:netcard_start_fail_desc"
                            stringtip="title:diag_complete_fail" stringtip="desc:netcard_start_fail_desc"
                            visible="common_solution:true"/>
                        <!-- 12 正在取消,请稍候 -->
                        <Component xml="cmpt/title_desc.xml"
                            string="title:check_cancel_ing" string="desc:check_ing_desc_user"/>
						<!-- 13 网络修复已取消 -->
						<Component xml="cmpt/title_desc.xml"
                            string="title:diag_canceled" string="desc:diag_complete_desc"
                            stringtip="title:diag_canceled" stringtip="desc:diag_complete_desc"/>
					</TabLayout>
					<TabLayout width="190" height="32" name="tab_btn">
						<!-- 0 全面检查 -->
						<Component xml="cmpt/btn_small_big.xml"
                            string="big:check_all_side"
                            name="big:check"/>
						<!-- 1 取消 -->
						<Component xml="cmpt/btn_small_big.xml"
                            string="big:cancel" userdata="big:cancel_ing"
                            name="big:cancel"/>
						<!-- 2 返回、立即验证 -->
						<Component xml="cmpt/btn_small_big.xml"
                            string="small:return" visible="small:true"
                            string="big:confirm"
                            name="small:return" name="big:confirm"/>
						<!-- 3 暂不修复、立即修复 -->
						<Component xml="cmpt/btn_small_big.xml"
                            string="small:not_diag" visible="small:true"
                            string="big:diag"
                            name="small:not_diag" name="big:diag"/>
						<!-- 4 立即修复 -->
						<Component xml="cmpt/btn_small_big.xml"
                            string="big:diag"
                            name="big:diag"/>
						<!-- 5 正在取消 -->
						<Component xml="cmpt/btn_small_big.xml"
                            string="big:cancel_ing"
                            enabled="big:false"/>
						<!-- 6 正在启动 -->
						<Component xml="cmpt/btn_small_big.xml"
                            string="big:starting"
                            enabled="big:false"/>
						<!-- 7 论坛反馈、返回 -->
						<Component xml="cmpt/btn_small_big.xml"
                            string="small:bbs_crash" visible="small:true"
                            string="big:return"
                            name="small:bbs_crash" name="big:return"/>
						<!-- 8 重新检查 -->
						<Component xml="cmpt/btn_small_big.xml"
                            string="big:restart_check"
                            name="big:check"/>
						<!-- 10 重启 -->
						<Component xml="cmpt/btn_small_big.xml"
                            visible="small:true"
                            string="small:restart_later"  string="big:restart_now"
                            name="small:restart_later" name="big:restart_now"/>
					</TabLayout>
				</HorizontalLayout>
				<VerticalLayout height="4">
					<Control />
					<Progress style="gs_progress" height="1" hor="true"
                        min="0" max="100" value="0"
                        name="progress"/>
				</VerticalLayout>
				<TabLayout skin="gs_bordercolor" bordersize="0,0,0,1" name="tab_body">
					<VirtualListUI containeritemxml="list_item.xml"
                        vscrollbar="false"
                        skin="gs_list" header="false" inset="0,8,0,0"
                        name="list">
						<ListHeader  percent="false">
							<ListHeaderItem  width="232" />
							<ListHeaderItem  width="410" />
							<ListHeaderItem  width="97"  />
							<ListHeaderItem  width="97" />
						</ListHeader>
					</VirtualListUI>
					<VerticalLayout inset="0,80,0,124">
						<Label  padding="0,0,0,32" align="center" height="32" style="gs_title_common"
                            string="solution_for_anamaly" />
						<HorizontalLayout height="124" childpadding="24">
							<Control />
							<VerticalLayout width="190">
								<Container>
									<Button style="gs_btn_border" menu="true" name="btn_DHCP" />
									<VerticalLayout inset="8,16,8,16" childpadding="8" mouse="false">
										<Control size="60,60" padding="57,0,57,0"
                                            bkimage="file='%SKINDIR%/img/final_homep.svg?DHCP_detection'"
                                            mouse="false" />
										<Label string="DHCP" style="gs_label_common"
                                            align="center" />
									</VerticalLayout>
								</Container>
							</VerticalLayout>
							<VerticalLayout width="190">
								<Container>
									<Button style="gs_btn_border" menu="true" name="common_solution"/>
									<VerticalLayout inset="8,16,8,16" childpadding="8" mouse="false">
										<Control size="60,60" padding="57,0,57,0" bkimage="file='%SKINDIR%/img/final_homep.svg?question'" mouse="false"/>
										<Label string="common_solution" style="gs_label_common" align="center"/>
									</VerticalLayout>
								</Container>
							</VerticalLayout>
							<VerticalLayout width="190">
								<Container>
									<Button style="gs_btn_border" menu="true" name="bbs_crash"/>
									<VerticalLayout inset="8,16,8,16" childpadding="8" mouse="false">
										<Control size="60,60" padding="57,0,57,0" bkimage="file='%SKINDIR%/img/final_homep.svg?forum'" mouse="false" />
										<Label string="bbs_crash" style="gs_label_common" align="center" />
									</VerticalLayout>
								</Container>
							</VerticalLayout>
							<Control />
						</HorizontalLayout>
					</VerticalLayout>
				</TabLayout>
			</VerticalLayout>

			<VerticalLayout inset="32,99,32,0" childalign="center">
				<TabLayout name="tab_result_icon" size="80,80">
					<Control size="80,80" bkimage="file='%SKINDIR%/img/icon_complete.svg'" />
					<Control size="80,80" bkimage="file='%SKINDIR%/img/tips_icon.svg'" />
				</TabLayout>
				<Control height="24" />
				<TabLayout name="tab_result_title" height="32">
					<HorizontalLayout height="32" childpadding="8" childvalign="vcenter">
						<Control />
						<Label style="gs_title_common" font="240" height="32" string="diag_complete"
                            align="center" />
						<Control />
					</HorizontalLayout>
					<HorizontalLayout height="32" childpadding="8" childvalign="vcenter">
						<Control />
						<Label style="gs_title_common" font="240" height="32" string="diag_canceled"
                            align="center" />
						<Control />
					</HorizontalLayout>
				</TabLayout>
				<Control height="16" />
				<TabLayout name="tab_result_desc" height="22">
					<HorizontalLayout height="22" childpadding="8" childvalign="vcenter">
						<Control />
                        <Label style="gs_label_common" font="140" height="20"
                            string="diag_complete_desc"
                            align="center" />
                        <Button style="gs_btn_text" font="140" name="confirm" height="20"
                            string="confirm" />
                        <Control />
                    </HorizontalLayout>
                    <HorizontalLayout height="22" childpadding="8" childvalign="vcenter">
                        <Control />
                        <Label style="gs_label_common" font="140" height="20"
                            string="reboot_takes_effect"
                            align="center" />
                        <Button style="gs_btn_text" font="140" name="restart_now" height="20"
                            string="restart_now" />
                        <Control />
                    </HorizontalLayout>
                </TabLayout>
                <Control height="16" />

                <Label align="center" height="22" style="gs_label_common" font="140"
                    string="solution_for_anamaly" />

                <Control height="8" />
                <HorizontalLayout height="22" childpadding="16" childvalign="vcenter">
                    <Control />
                    <Button style="gs_btn_text" font="140" name="btn_DHCP" height="20" string="DHCP" />
                    <Button style="gs_btn_text" font="140" name="common_solution" height="20"
                        string="common_solution" />
                    <Button style="gs_btn_text" font="140" name="bbs_crash" height="20"
                        string="bbs_crash" />
                    <Control />
                </HorizontalLayout>
                <Control height="24" />
                <Button width="88" size="88,32" style="gs_btn_ok" name="btn_done"
                    string="done" />
            </VerticalLayout>
        </TabLayout>
    </VerticalLayout>
</Window>
相关推荐
hackeroink1 小时前
【2024版】最新推荐好用的XSS漏洞扫描利用工具_xss扫描工具
前端·xss
迷雾漫步者2 小时前
Flutter组件————FloatingActionButton
前端·flutter·dart
向前看-3 小时前
验证码机制
前端·后端
燃先生._.4 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
高山我梦口香糖5 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
m0_748235245 小时前
前端实现获取后端返回的文件流并下载
前端·状态模式
m0_748240256 小时前
前端如何检测用户登录状态是否过期
前端
black^sugar6 小时前
纯前端实现更新检测
开发语言·前端·javascript
寻找沙漠的人6 小时前
前端知识补充—CSS
前端·css