Files
Hikage/zh-cn/guide/home.html
github-actions[bot] 0b533c67b1 Deploy to GitHub pages
2025-08-23 18:52:31 +00:00

73 lines
41 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="VuePress 2.0.0-rc.0">
<style>
:root {
--c-bg: #fff;
}
html.dark {
--c-bg: #22272e;
}
html, body {
background-color: var(--c-bg);
}
</style>
<script>
const userMode = localStorage.getItem('vuepress-color-scheme');
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
document.documentElement.classList.toggle('dark', true);
}
</script>
<link rel="icon" href="/Hikage/images/logo.svg"><title>介绍 | Hikage</title><meta name="description" content="一个 Android 响应式 UI 构建工具">
<link rel="preload" href="/Hikage/assets/style-Rgr8LWAc.css" as="style"><link rel="stylesheet" href="/Hikage/assets/style-Rgr8LWAc.css">
<link rel="modulepreload" href="/Hikage/assets/app-ZnF1aHNS.js"><link rel="modulepreload" href="/Hikage/assets/home.html-yN_Nauvl.js"><link rel="modulepreload" href="/Hikage/assets/nagasaki_soyo-RK2z5Lcj.js"><link rel="modulepreload" href="/Hikage/assets/home.html-FkAIX882.js">
<link rel="prefetch" href="/Hikage/assets/index.html-l1SiVQn7.js" as="script"><link rel="prefetch" href="/Hikage/assets/index.html-UG_FDMyX.js" as="script"><link rel="prefetch" href="/Hikage/assets/index.html-FjffWWA4.js" as="script"><link rel="prefetch" href="/Hikage/assets/about.html--JeJn6VX.js" as="script"><link rel="prefetch" href="/Hikage/assets/changelog.html-XGYIsSRg.js" as="script"><link rel="prefetch" href="/Hikage/assets/contacts.html-uhRwpcjF.js" as="script"><link rel="prefetch" href="/Hikage/assets/future.html-Oos9rVeC.js" as="script"><link rel="prefetch" href="/Hikage/assets/r8-proguard.html-QTtfAIoi.js" as="script"><link rel="prefetch" href="/Hikage/assets/home.html-hszD4rJy.js" as="script"><link rel="prefetch" href="/Hikage/assets/quick-start.html-OQgpPsXK.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-compiler.html-OOEYxzA1.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-core.html-6tGPbRmk.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension-betterandroid.html--TiJmBKm.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension-compose.html-K6jgaZLv.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension.html-lJSuuqUt.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-widget-androidx.html-uy8ylSjq.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-widget-material.html-SrWOBHqa.js" as="script"><link rel="prefetch" href="/Hikage/assets/about.html-aNmPduyK.js" as="script"><link rel="prefetch" href="/Hikage/assets/changelog.html-TDQcoCY9.js" as="script"><link rel="prefetch" href="/Hikage/assets/contacts.html-e3ZRLGK_.js" as="script"><link rel="prefetch" href="/Hikage/assets/future.html-REnhLrdo.js" as="script"><link rel="prefetch" href="/Hikage/assets/r8-proguard.html-_aL0ZPoj.js" as="script"><link rel="prefetch" href="/Hikage/assets/quick-start.html-duoa-o83.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-compiler.html-_B_hgKuq.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-core.html-gVi6UZx8.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension-betterandroid.html-EgKZos03.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension-compose.html-RxxykmCH.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension.html-cbepB2QD.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-widget-androidx.html-Kk_4er0h.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-widget-material.html-Z3imNZV7.js" as="script"><link rel="prefetch" href="/Hikage/assets/404.html-6Yl8cQE3.js" as="script"><link rel="prefetch" href="/Hikage/assets/index.html-BxYx2COm.js" as="script"><link rel="prefetch" href="/Hikage/assets/index.html-WTe5lrNs.js" as="script"><link rel="prefetch" href="/Hikage/assets/index.html-u51qKXKB.js" as="script"><link rel="prefetch" href="/Hikage/assets/about.html-XwS73ZCx.js" as="script"><link rel="prefetch" href="/Hikage/assets/changelog.html-4cKSC36e.js" as="script"><link rel="prefetch" href="/Hikage/assets/contacts.html-ORTLlJQ8.js" as="script"><link rel="prefetch" href="/Hikage/assets/future.html-jTN_NVVj.js" as="script"><link rel="prefetch" href="/Hikage/assets/r8-proguard.html-e_rREoAD.js" as="script"><link rel="prefetch" href="/Hikage/assets/home.html-TsPnRHmC.js" as="script"><link rel="prefetch" href="/Hikage/assets/quick-start.html-3cWmD7u6.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-compiler.html-4m7cGYK8.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-core.html-2POUBcJE.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension-betterandroid.html-TeEkbGrP.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension-compose.html-y9fgAlkJ.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension.html-Wa92SmBq.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-widget-androidx.html-ZxjbyKwp.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-widget-material.html-aFxM7z7b.js" as="script"><link rel="prefetch" href="/Hikage/assets/about.html-ndlgo2Ul.js" as="script"><link rel="prefetch" href="/Hikage/assets/changelog.html-m9YESbx7.js" as="script"><link rel="prefetch" href="/Hikage/assets/contacts.html-X7jZzc8H.js" as="script"><link rel="prefetch" href="/Hikage/assets/future.html-BXK9B2jz.js" as="script"><link rel="prefetch" href="/Hikage/assets/r8-proguard.html-cESRxTSf.js" as="script"><link rel="prefetch" href="/Hikage/assets/quick-start.html-vLMpozQe.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-compiler.html-1bP0HyAG.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-core.html--xfNkeP6.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension-betterandroid.html-07ZHN76T.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension-compose.html-2czu0HQ5.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-extension.html-O69pNHSL.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-widget-androidx.html-7nnQMKXC.js" as="script"><link rel="prefetch" href="/Hikage/assets/hikage-widget-material.html-OG3AXf8w.js" as="script"><link rel="prefetch" href="/Hikage/assets/404.html-wbLsHMMI.js" as="script">
</head>
<body>
<div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/Hikage/zh-cn/" class=""><img class="logo" src="/Hikage/images/logo.svg" alt="Hikage"><span class="site-name can-hide">Hikage</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="导航"><span class="title">导航</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="导航"><span class="title">导航</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>入门</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a aria-current="page" href="/Hikage/zh-cn/guide/home.html" class="router-link-active router-link-exact-active router-link-active" aria-label="介绍"><!--[--><!--]--> 介绍 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/guide/quick-start.html" class="" aria-label="快速开始"><!--[--><!--]--> 快速开始 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>依赖</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-core.html" class="" aria-label="hikage-core"><!--[--><!--]--> hikage-core <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-compiler.html" class="" aria-label="hikage-compiler"><!--[--><!--]--> hikage-compiler <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-extension.html" class="" aria-label="hikage-extension"><!--[--><!--]--> hikage-extension <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-extension-betterandroid.html" class="" aria-label="hikage-extension-betterandroid"><!--[--><!--]--> hikage-extension-betterandroid <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-extension-compose.html" class="" aria-label="hikage-extension-compose"><!--[--><!--]--> hikage-extension-compose <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-widget-androidx.html" class="" aria-label="hikage-widget-androidx"><!--[--><!--]--> hikage-widget-androidx <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-widget-material.html" class="" aria-label="hikage-widget-material"><!--[--><!--]--> hikage-widget-material <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>配置</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/config/r8-proguard.html" class="" aria-label="R8 与 Proguard 混淆"><!--[--><!--]--> R8 与 Proguard 混淆 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>关于</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/about/changelog.html" class="" aria-label="更新日志"><!--[--><!--]--> 更新日志 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/about/future.html" class="" aria-label="展望未来"><!--[--><!--]--> 展望未来 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/about/contacts.html" class="" aria-label="联系我们"><!--[--><!--]--> 联系我们 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/about/about.html" class="" aria-label="关于此文档"><!--[--><!--]--> 关于此文档 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-item"><a href="/Hikage/zh-cn/about/contacts" class="" aria-label="联系我们"><!--[--><!--]--> 联系我们 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><span class="title">简体中文 (CN)</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><span class="title">简体中文 (CN)</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/Hikage/en/guide/home.html" class="" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a aria-current="page" href="/Hikage/zh-cn/guide/home.html" class="router-link-active router-link-exact-active router-link-active" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/BetterAndroid/Hikage" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口中打开</span></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-color-mode-button" title="切换颜色模式"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><form class="search-box" role="search"><input type="search" placeholder="搜索" autocomplete="off" spellcheck="false" value><!----></form></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-items"><!--[--><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="导航"><span class="title">导航</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="导航"><span class="title">导航</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>入门</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a aria-current="page" href="/Hikage/zh-cn/guide/home.html" class="router-link-active router-link-exact-active router-link-active" aria-label="介绍"><!--[--><!--]--> 介绍 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/guide/quick-start.html" class="" aria-label="快速开始"><!--[--><!--]--> 快速开始 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>依赖</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-core.html" class="" aria-label="hikage-core"><!--[--><!--]--> hikage-core <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-compiler.html" class="" aria-label="hikage-compiler"><!--[--><!--]--> hikage-compiler <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-extension.html" class="" aria-label="hikage-extension"><!--[--><!--]--> hikage-extension <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-extension-betterandroid.html" class="" aria-label="hikage-extension-betterandroid"><!--[--><!--]--> hikage-extension-betterandroid <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-extension-compose.html" class="" aria-label="hikage-extension-compose"><!--[--><!--]--> hikage-extension-compose <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-widget-androidx.html" class="" aria-label="hikage-widget-androidx"><!--[--><!--]--> hikage-widget-androidx <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/library/hikage-widget-material.html" class="" aria-label="hikage-widget-material"><!--[--><!--]--> hikage-widget-material <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>配置</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/config/r8-proguard.html" class="" aria-label="R8 与 Proguard 混淆"><!--[--><!--]--> R8 与 Proguard 混淆 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>关于</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/about/changelog.html" class="" aria-label="更新日志"><!--[--><!--]--> 更新日志 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/about/future.html" class="" aria-label="展望未来"><!--[--><!--]--> 展望未来 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/about/contacts.html" class="" aria-label="联系我们"><!--[--><!--]--> 联系我们 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/Hikage/zh-cn/about/about.html" class="" aria-label="关于此文档"><!--[--><!--]--> 关于此文档 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-item"><a href="/Hikage/zh-cn/about/contacts" class="" aria-label="联系我们"><!--[--><!--]--> 联系我们 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><span class="title">简体中文 (CN)</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><span class="title">简体中文 (CN)</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/Hikage/en/guide/home.html" class="" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a aria-current="page" href="/Hikage/zh-cn/guide/home.html" class="router-link-active router-link-exact-active router-link-active" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/BetterAndroid/Hikage" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口中打开</span></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-items"><!--[--><li><p tabindex="0" class="sidebar-item sidebar-heading active collapsible">入门 <span class="down arrow"></span></p><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/Hikage/zh-cn/guide/home.html" class="router-link-active router-link-exact-active router-link-active sidebar-item active" aria-label="介绍"><!--[--><!--]--> 介绍 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/Hikage/zh-cn/guide/home.html#背景" class="router-link-active router-link-exact-active sidebar-item" aria-label="背景"><!--[--><!--]--> 背景 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/Hikage/zh-cn/guide/home.html#用途" class="router-link-active router-link-exact-active sidebar-item" aria-label="用途"><!--[--><!--]--> 用途 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/Hikage/zh-cn/guide/home.html#语言要求" class="router-link-active router-link-exact-active sidebar-item" aria-label="语言要求"><!--[--><!--]--> 语言要求 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/Hikage/zh-cn/guide/home.html#功能贡献" class="router-link-active router-link-exact-active sidebar-item" aria-label="功能贡献"><!--[--><!--]--> 功能贡献 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a href="/Hikage/zh-cn/guide/quick-start.html" class="sidebar-item" aria-label="快速开始"><!--[--><!--]--> 快速开始 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><p tabindex="0" class="sidebar-item sidebar-heading collapsible">依赖 <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/Hikage/zh-cn/library/hikage-core.html" class="sidebar-item" aria-label="hikage-core"><!--[--><!--]--> hikage-core <!--[--><!--]--></a><!----></li><li><a href="/Hikage/zh-cn/library/hikage-compiler.html" class="sidebar-item" aria-label="hikage-compiler"><!--[--><!--]--> hikage-compiler <!--[--><!--]--></a><!----></li><li><a href="/Hikage/zh-cn/library/hikage-extension.html" class="sidebar-item" aria-label="hikage-extension"><!--[--><!--]--> hikage-extension <!--[--><!--]--></a><!----></li><li><a href="/Hikage/zh-cn/library/hikage-extension-betterandroid.html" class="sidebar-item" aria-label="hikage-extension-betterandroid"><!--[--><!--]--> hikage-extension-betterandroid <!--[--><!--]--></a><!----></li><li><a href="/Hikage/zh-cn/library/hikage-extension-compose.html" class="sidebar-item" aria-label="hikage-extension-compose"><!--[--><!--]--> hikage-extension-compose <!--[--><!--]--></a><!----></li><li><a href="/Hikage/zh-cn/library/hikage-widget-androidx.html" class="sidebar-item" aria-label="hikage-widget-androidx"><!--[--><!--]--> hikage-widget-androidx <!--[--><!--]--></a><!----></li><li><a href="/Hikage/zh-cn/library/hikage-widget-material.html" class="sidebar-item" aria-label="hikage-widget-material"><!--[--><!--]--> hikage-widget-material <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><p tabindex="0" class="sidebar-item sidebar-heading collapsible">配置 <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/Hikage/zh-cn/config/r8-proguard.html" class="sidebar-item" aria-label="R8 与 Proguard 混淆"><!--[--><!--]--> R8 与 Proguard 混淆 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><p tabindex="0" class="sidebar-item sidebar-heading collapsible">关于 <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/Hikage/zh-cn/about/changelog.html" class="sidebar-item" aria-label="更新日志"><!--[--><!--]--> 更新日志 <!--[--><!--]--></a><!----></li><li><a href="/Hikage/zh-cn/about/future.html" class="sidebar-item" aria-label="展望未来"><!--[--><!--]--> 展望未来 <!--[--><!--]--></a><!----></li><li><a href="/Hikage/zh-cn/about/contacts.html" class="sidebar-item" aria-label="联系我们"><!--[--><!--]--> 联系我们 <!--[--><!--]--></a><!----></li><li><a href="/Hikage/zh-cn/about/about.html" class="sidebar-item" aria-label="关于此文档"><!--[--><!--]--> 关于此文档 <!--[--><!--]--></a><!----></li><!--]--></ul></li><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><!--]--><div><h1 id="介绍" tabindex="-1"><a class="header-anchor" href="#介绍" aria-hidden="true">#</a> 介绍</h1><blockquote><p><code>Hikage</code> (发音 /ˈhɪkɑːɡeɪ/) 是一个 Android 响应式 UI 构建工具。</p></blockquote><h2 id="背景" tabindex="-1"><a class="header-anchor" href="#背景" aria-hidden="true">#</a> 背景</h2><p>这是一个 Android 响应式 UI 构建工具,它的设计聚焦于 <strong>实时代码构建 UI</strong></p><p>项目图标由 <a href="https://github.com/Lagrio" target="_blank" rel="noopener noreferrer">MaiTungTM<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口中打开</span></span></a> 设计,名称取自 「BanG Dream It&#39;s MyGO!!!!!」 中的原创歌曲《春日影》(Haru<strong>hikage</strong>)。</p><details><summary>为什么要...</summary><div align="center"><img src="/Hikage/images/nagasaki_soyo.png" width="100" height="100" alt="LOGO"><p><strong>なんで春日影レイアウト使いの?</strong></p></div></details><p>不同于 Jetpack Compose 的声明式 UIHikage 专注于 Android 原生平台,它的设计目标是为了让开发者能够快速构建 UI 并可直接支持 Android 原生组件。</p><p><strong><u>Hikage 只是一个 UI 构建工具,自身并不提供任何 UI 组件</u></strong></p><p>拒绝重复造轮子,我们的方案始终是兼容与高效,现在你可以抛弃 ViewBinding 和 XML 甚至是 <code>findViewById</code>,直接来尝试使用代码布局吧。</p><p><code>Hikage</code> 配合我们的另一个项目 <a href="https://github.com/BetterAndroid/BetterAndroid" target="_blank" rel="noopener noreferrer">BetterAndroid<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口中打开</span></span></a> 使用效果更佳,同时 <code>Hikage</code> 自身将自动引用 <code>BetterAndroid</code> 相关依赖作为核心内容。</p><h2 id="用途" tabindex="-1"><a class="header-anchor" href="#用途" aria-hidden="true">#</a> 用途</h2><p>Hikage 主要适用于专注原生 Android 平台开发的开发者,自从 Kotlin 作为主要开发语言后,依然没有一套比较完美的工具能够使用 DSL 实现动态代码布局, 所以没有使用 Jetpack Compose 的项目依然需要使用原始的 XML虽然有着 ViewBinding 的支持,但是依然不是很友好。</p><p>Hikage 继承了 <a href="https://github.com/Kotlin/anko" target="_blank" rel="noopener noreferrer">Anko<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口中打开</span></span></a><a href="https://github.com/LouisCAD/Splitties" target="_blank" rel="noopener noreferrer">Splitties<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口中打开</span></span></a> 的设计方案以及借鉴了 Jetpack Compose 的 DSL 函数命名方案, 并且在此基础上进行了大量改进,使得它在使用成本上更贴近原生,写法上更贴近 Jetpack Compose。</p><blockquote><p>各种 DSL 布局方案对比</p></blockquote><div class="code-group"><div class="code-group__nav"><ul class="code-group__ul"><li class="code-group__li"><button class="code-group__nav-tab code-group__nav-tab-active" ariapressed="true" ariaexpanded="true">Hikage</button></li><li class="code-group__li"><button class="code-group__nav-tab" ariapressed="false" ariaexpanded="false">Anko、Splitties</button></li><li class="code-group__li"><button class="code-group__nav-tab" ariapressed="false" ariaexpanded="false">Jetpack Compose</button></li></ul></div><!--[--><div class="code-group-item" aria-selected="false"><!--[--><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">LinearLayout</span><span style="color:#ADBAC7;">(</span></span>
<span class="line"><span style="color:#ADBAC7;"> lparams </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">LayoutParams</span><span style="color:#ADBAC7;">(matchParent </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> topMargin </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">16</span><span style="color:#ADBAC7;">.dp</span></span>
<span class="line"><span style="color:#ADBAC7;"> },</span></span>
<span class="line"><span style="color:#ADBAC7;"> init </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> orientation </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> LinearLayout.VERTICAL</span></span>
<span class="line"><span style="color:#ADBAC7;"> gravity </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> Gravity.CENTER</span></span>
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
<span class="line"><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">TextView</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">&quot;Hello, World!&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> textSize </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">16f</span></span>
<span class="line"><span style="color:#ADBAC7;"> gravity </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> Gravity.CENTER</span></span>
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><!--]--></div><div class="code-group-item" aria-selected="false"><!--[--><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">verticalLayout</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> gravity </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> Gravity.CENTER</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">textView</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;Hello, World!&quot;</span><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> textSize </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">16f</span></span>
<span class="line"><span style="color:#ADBAC7;"> gravity </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> Gravity.CENTER</span></span>
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
<span class="line"><span style="color:#ADBAC7;">}.</span><span style="color:#DCBDFB;">lparams</span><span style="color:#ADBAC7;">(</span></span>
<span class="line"><span style="color:#ADBAC7;"> width </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> matchParent,</span></span>
<span class="line"><span style="color:#ADBAC7;"> height </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> matchParent</span></span>
<span class="line"><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> topMargin </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">dip</span><span style="color:#ADBAC7;">(</span><span style="color:#6CB6FF;">16</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><!--]--></div><div class="code-group-item" aria-selected="false"><!--[--><div class="language-kotlin line-numbers-mode" data-ext="kt"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#DCBDFB;">Column</span><span style="color:#ADBAC7;">(</span></span>
<span class="line"><span style="color:#ADBAC7;"> modifier </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> Modifier.</span><span style="color:#DCBDFB;">padding</span><span style="color:#ADBAC7;">(top </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">16</span><span style="color:#ADBAC7;">.dp),</span></span>
<span class="line"><span style="color:#ADBAC7;"> verticalArrangement </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> Arrangement.Center,</span></span>
<span class="line"><span style="color:#ADBAC7;"> horizontalAlignment </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> Alignment.CenterHorizontally</span></span>
<span class="line"><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">Text</span><span style="color:#ADBAC7;">(</span></span>
<span class="line"><span style="color:#ADBAC7;"> text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">&quot;Hello, World!&quot;</span><span style="color:#ADBAC7;">,</span></span>
<span class="line"><span style="color:#ADBAC7;"> fontSize </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">16</span><span style="color:#ADBAC7;">.sp,</span></span>
<span class="line"><span style="color:#ADBAC7;"> textAlign </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> TextAlign.Center</span></span>
<span class="line"><span style="color:#ADBAC7;"> )</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><!--]--></div><!--]--></div><p>Hikage 的基础部分<strong>完全不需要借助外部及额外的编译插件</strong>,它能<strong>即插即用</strong>并在<strong>任何地方创建</strong>一个可被设置到父布局以及 <code>Window</code> 上的 <code>View</code> 对象。</p><p>Hikage <strong>全面兼容</strong>混合式布局,你可以在 Hikage 中嵌入 XML (使用 <code>R.layout</code> 方案装载布局)、ViewBinding 甚至是 Jetpack Compose。</p><h2 id="语言要求" tabindex="-1"><a class="header-anchor" href="#语言要求" aria-hidden="true">#</a> 语言要求</h2><p>推荐使用 Kotlin 作为首选开发语言,本项目完全使用 Kotlin 编写,且不再有计划兼容 Java。</p><p>文档全部的 Demo 示例代码都将使用 Kotlin 进行描述,如果你完全不会使用 Kotlin那么你将有可能无法正常使用本项目。</p><h2 id="功能贡献" tabindex="-1"><a class="header-anchor" href="#功能贡献" aria-hidden="true">#</a> 功能贡献</h2><p>本项目的维护离不开各位开发者的支持和贡献,目前这个项目处于初期阶段,可能依然存在一些问题或者缺少你需要的功能, 如果可能,欢迎提交 PR 为此项目贡献你认为需要的功能或前往 <a href="https://github.com/BetterAndroid/Hikage/issues" target="_blank" rel="noopener noreferrer">GitHub Issues<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口中打开</span></span></a> 向我们提出建议。</p></div><!--[--><!--]--></div><footer class="page-meta"><div class="meta-item edit-link"><a class="external-link meta-item-label" href="https://github.com/BetterAndroid/Hikage/edit/main/docs-source/src/zh-cn/guide/home.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页"><!--[--><!--]--> 在 GitHub 上编辑此页 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口中打开</span></span><!--[--><!--]--></a></div><div class="meta-item last-updated"><span class="meta-item-label">上次更新: </span><!----></div><div class="meta-item contributors"><span class="meta-item-label">贡献者: </span><span class="meta-item-info"><!--[--><!--[--><span class="contributor" title="email: qzmmcn@163.com">fankesyooni</span><!----><!--]--><!--]--></span></div></footer><nav class="page-nav"><p class="inner"><!----><span class="next"><a href="/Hikage/zh-cn/guide/quick-start.html" class="" aria-label="快速开始"><!--[--><!--]--> 快速开始 <!--[--><!--]--></a></span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
<script type="module" src="/Hikage/assets/app-ZnF1aHNS.js" defer></script>
</body>
</html>