Deploy to GitHub pages

This commit is contained in:
github-actions[bot]
2025-08-19 07:59:07 +00:00
committed by GitHub
commit 96f689cf92
147 changed files with 7725 additions and 0 deletions

0
.nojekyll Normal file
View File

34
404.html Normal file
View File

@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="en-US">
<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="/PanguText/images/logo.png"><title>Pangu Text</title><meta name="description" content="A typographic solution for the optimal alignment of CJK characters, English words, and half-width digits">
<link rel="preload" href="/PanguText/assets/style-Rgr8LWAc.css" as="style"><link rel="stylesheet" href="/PanguText/assets/style-Rgr8LWAc.css">
<link rel="modulepreload" href="/PanguText/assets/app-6WmjFGj_.js"><link rel="modulepreload" href="/PanguText/assets/404.html-6Yl8cQE3.js"><link rel="modulepreload" href="/PanguText/assets/404.html-YkmvtGWa.js">
<link rel="prefetch" href="/PanguText/assets/index.html-EYu-iNkn.js" as="script"><link rel="prefetch" href="/PanguText/assets/index.html-QUZQg0UG.js" as="script"><link rel="prefetch" href="/PanguText/assets/index.html-H__tmzTP.js" as="script"><link rel="prefetch" href="/PanguText/assets/r8-proguard.html-69xTqe-J.js" as="script"><link rel="prefetch" href="/PanguText/assets/about.html-TshJpOH8.js" as="script"><link rel="prefetch" href="/PanguText/assets/changelog.html-_msERpTv.js" as="script"><link rel="prefetch" href="/PanguText/assets/contacts.html-Tyyrr6ry.js" as="script"><link rel="prefetch" href="/PanguText/assets/future.html-YFngAQwd.js" as="script"><link rel="prefetch" href="/PanguText/assets/home.html-JcaZNIqz.js" as="script"><link rel="prefetch" href="/PanguText/assets/quick-start.html-gd9ccG0P.js" as="script"><link rel="prefetch" href="/PanguText/assets/android.html-C0sED2vr.js" as="script"><link rel="prefetch" href="/PanguText/assets/compose.html-ta_OKiQ7.js" as="script"><link rel="prefetch" href="/PanguText/assets/about.html-y0__MDXj.js" as="script"><link rel="prefetch" href="/PanguText/assets/changelog.html-ZdZDMp0S.js" as="script"><link rel="prefetch" href="/PanguText/assets/contacts.html-KJJ9aywK.js" as="script"><link rel="prefetch" href="/PanguText/assets/future.html-H3GTPPFW.js" as="script"><link rel="prefetch" href="/PanguText/assets/r8-proguard.html-D-RxO_Ql.js" as="script"><link rel="prefetch" href="/PanguText/assets/home.html-3yl9a2Vj.js" as="script"><link rel="prefetch" href="/PanguText/assets/quick-start.html-ddi7SydO.js" as="script"><link rel="prefetch" href="/PanguText/assets/android.html-er-PlyuE.js" as="script"><link rel="prefetch" href="/PanguText/assets/compose.html-Bw78KuUV.js" as="script"><link rel="prefetch" href="/PanguText/assets/index.html-dAhbvs7X.js" as="script"><link rel="prefetch" href="/PanguText/assets/index.html-hmQ6cGF4.js" as="script"><link rel="prefetch" href="/PanguText/assets/index.html-zXy82L0K.js" as="script"><link rel="prefetch" href="/PanguText/assets/r8-proguard.html-PqTZGCA2.js" as="script"><link rel="prefetch" href="/PanguText/assets/about.html-pwF3sebZ.js" as="script"><link rel="prefetch" href="/PanguText/assets/changelog.html-34En5i-H.js" as="script"><link rel="prefetch" href="/PanguText/assets/contacts.html--fNpIi3D.js" as="script"><link rel="prefetch" href="/PanguText/assets/future.html-e9RoH0aV.js" as="script"><link rel="prefetch" href="/PanguText/assets/home.html-58uN4FuZ.js" as="script"><link rel="prefetch" href="/PanguText/assets/quick-start.html-1kKh8kqs.js" as="script"><link rel="prefetch" href="/PanguText/assets/android.html-XQpTmuqf.js" as="script"><link rel="prefetch" href="/PanguText/assets/compose.html-GjfF5jqY.js" as="script"><link rel="prefetch" href="/PanguText/assets/about.html-bq8LJH03.js" as="script"><link rel="prefetch" href="/PanguText/assets/changelog.html-qt_u2gKo.js" as="script"><link rel="prefetch" href="/PanguText/assets/contacts.html-8fmQuQW2.js" as="script"><link rel="prefetch" href="/PanguText/assets/future.html-zvpjuSDl.js" as="script"><link rel="prefetch" href="/PanguText/assets/r8-proguard.html-uJ-Di8s4.js" as="script"><link rel="prefetch" href="/PanguText/assets/home.html-DfgIm_Cu.js" as="script"><link rel="prefetch" href="/PanguText/assets/quick-start.html-SQ1_-HIx.js" as="script"><link rel="prefetch" href="/PanguText/assets/android.html-qjs2U6CQ.js" as="script"><link rel="prefetch" href="/PanguText/assets/compose.html-6IPIfrmc.js" as="script">
</head>
<body>
<div id="app"><!--[--><div class="theme-container"><main class="page"><div class="theme-default-content"><h1>404</h1><blockquote>There&#39;s nothing here.</blockquote><a href="/PanguText/" class="">Take me home</a></div></main></div><!----><!--]--></div>
<script type="module" src="/PanguText/assets/app-6WmjFGj_.js" defer></script>
</body>
</html>

View File

@@ -0,0 +1,8 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.2496 5.3C20.3496 4.5 19.2496 4 18.0496 4C16.8496 4 15.6496 4.5 14.8496 5.3L10.3496 9.8L11.7496 11.2L16.2496 6.7C17.2496 5.7 18.8496 5.7 19.8496 6.7C20.8496 7.7 20.8496 9.3 19.8496 10.3L15.3496 14.8L16.7496 16.2L21.2496 11.7C22.1496 10.8 22.5496 9.7 22.5496 8.5C22.5496 7.3 22.1496 6.2 21.2496 5.3Z" fill="#637282"/>
<path d="M8.35 16.7998C7.35 17.7998 5.75 17.7998 4.75 16.7998C3.75 15.7998 3.75 14.1998 4.75 13.1998L9.25 8.6998L7.85 7.2998L3.35 11.7998C1.55 13.5998 1.55 16.3998 3.35 18.1998C4.25 19.0998 5.35 19.4998 6.55 19.4998C7.75 19.4998 8.85 19.0998 9.75 18.1998L14.25 13.6998L12.85 12.2998L8.35 16.7998Z" fill="#637282"/>
</svg>

After

Width:  |  Height:  |  Size: 871 B

View File

@@ -0,0 +1,7 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="24" height="24" viewBox="-5 -3 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 9l-6 5.25V3.75z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 277 B

View File

@@ -0,0 +1,9 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M23.3379 5.83331H4.67126V8.16665H23.3379V5.83331Z" fill="white"/>
<path d="M23.3379 12.8333H4.67126V15.1666H23.3379V12.8333Z" fill="white"/>
<path d="M4.67126 19.8333H23.3379V22.1666H4.67126V19.8333Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 456 B

View File

@@ -0,0 +1,7 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 4H15V16H5V4ZM17 7H19V18V20H17H8V18H17V7Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 332 B

View File

@@ -0,0 +1,7 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18 9C18 14 14 18 9 18C4 18 0 14 0 9C0 4 4 0 9 0C14 0 18 4 18 9ZM14.2 6.2L12.8 4.8L7.5 10.1L5.3 7.8L3.8 9.2L7.5 13L14.2 6.2Z" fill="#4DBB5F"/>
</svg>

After

Width:  |  Height:  |  Size: 375 B

View File

@@ -0,0 +1,7 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8 0H2.3949L4.84076 2.44586L0 7.28662L0.713376 8L5.55414 3.15924L8 5.6051V0Z" fill="#637282"/>
</svg>

After

Width:  |  Height:  |  Size: 323 B

View File

@@ -0,0 +1,8 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.3337 9.66683H0.666992L6.00033 3.66683L11.3337 9.66683Z" fill="#637282"/>
<path d="M0.666992 0.333496H11.3337V1.66683H0.666992V0.333496Z" fill="#637282"/>
</svg>

After

Width:  |  Height:  |  Size: 394 B

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20 20V7L12 3L4 7V20H10V13H14V20H20Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 165 B

View File

@@ -0,0 +1,14 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M64 64H0V0H64L31.3373 31.5369L64 64Z" fill="url(#paint0_radial)"/>
<defs>
<radialGradient id="paint0_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(61.8732 2.63097) scale(73.3111)">
<stop offset="0.00343514" stop-color="#EF4857"/>
<stop offset="0.4689" stop-color="#D211EC"/>
<stop offset="1" stop-color="#7F52FF"/>
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 675 B

View File

@@ -0,0 +1,26 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="abstractClassKotlin">
<path id="Fill 1" fill-rule="evenodd" clip-rule="evenodd" d="M3 3.1055C1.764 4.3685 1 6.0935 1 8.0005C1 9.9065 1.764 11.6315 3 12.8945V3.1055Z" fill="#9AA7B0" fill-opacity="0.8"/>
<path id="Combined Shape" fill-rule="evenodd" clip-rule="evenodd" d="M13 8V3.1055C14.2359 4.36739 14.9999 6.0932 15 8H13Z" fill="#9AA7B0" fill-opacity="0.8"/>
<g id="idea/community/platform/icons/src/nodes/class">
<mask id="mask0" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="4" y="1" width="8" height="14">
<path id="Mask" d="M4 1H12V8H8V15H4V1Z" fill="white"/>
</mask>
<g mask="url(#mask0)">
<g id="class">
<path id="Fill 1_2" fill-rule="evenodd" clip-rule="evenodd" d="M15 8C15 11.866 11.866 15 8 15C4.134 15 1 11.866 1 8C1 4.134 4.134 1 8 1C11.866 1 15 4.134 15 8Z" fill="#40B6E0" fill-opacity="0.6"/>
<g id="&#226;&#140;&#152;/alphabet/nodes/c">
<path id="&#226;&#140;&#152;/alphabet/nodes/c_2" fill-rule="evenodd" clip-rule="evenodd" d="M10 9.28253C9.53001 9.74153 9.02801 9.978 8.10001 10C7.06101 10.022 6.00001 9.2794 6.00001 8.0004C6.00001 6.7124 6.97101 6 8.10001 6C9.37251 6 9.90001 6.55426 9.90001 6.55426L10.5162 5.83673C9.82941 5.27017 9.28828 5.0004 8.09821 5.0004C6.34021 5.0004 5.00021 6.3584 5.00021 8.0004C5.00021 9.6824 6.36421 11.0004 8.00221 11.0004C9.29286 11.0004 10.0232 10.5934 10.6162 9.9814L10 9.28253Z" fill="#231F20" fill-opacity="0.7"/>
</g>
</g>
</g>
</g>
<g id="&#226;&#140;&#152;/modifier/kotlin">
<path id="&#226;&#140;&#152;/modifier/kotlin_2" d="M16 16H9V9H16L12.4 12.4L16 16Z" fill="#B99BF8"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,20 @@
<!-- Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
<defs>
<rect id="abstractclass-a" width="8" height="14"/>
</defs>
<g fill="none" fill-rule="evenodd">
<path fill="#9AA7B0" fill-opacity=".8" d="M3 3.1055C1.764 4.3685 1 6.0935 1 8.0005 1 9.9065 1.764 11.6315 3 12.8945L3 3.1055zM13 3.1055L13 12.8945C14.236 11.6315 15 9.9065 15 8.0005 15 6.0935 14.236 4.3675 13 3.1055"/>
<g transform="translate(4 1)">
<mask id="abstractclass-b" fill="#fff">
<use xlink:href="#abstractclass-a"/>
</mask>
<g mask="url(#abstractclass-b)">
<g transform="translate(-4 -1)">
<path fill="#40B6E0" fill-opacity=".6" d="M15,8 C15,11.866 11.866,15 8,15 C4.134,15 1,11.866 1,8 C1,4.134 4.134,1 8,1 C11.866,1 15,4.134 15,8"/>
<path fill="#231F20" fill-opacity=".7" d="M5,4.28253174 C4.53,4.74153174 4.028,4.978 3.1,5 C2.061,5.022 1,4.2794 1,3.0004 C1,1.7124 1.971,1 3.1,1 C3.94833171,1 4.54833171,1.18475342 4.9,1.55426025 L5.5162,0.836730957 C4.8293999,0.270175195 4.28826904,0.0004 3.0982,0.0004 C1.3402,0.0004 0.0002,1.3584 0.0002,3.0004 C0.0002,4.6824 1.3642,6.0004 3.0022,6.0004 C4.29284668,6.0004 5.0232,5.5934 5.6162,4.9814 C5.2054,4.51548783 5,4.28253174 5,4.28253174 Z" transform="translate(5 5)"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,13 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="annotationKotlin">
<g id="&#226;&#140;&#152;/modifier/kotlin">
<path id="&#226;&#140;&#152;/modifier/kotlin_2" d="M16 16H9V9H16L12.4 12.4L16 16Z" fill="#B99BF8"/>
</g>
<path id="Vector" fill-rule="evenodd" clip-rule="evenodd" d="M8 15C4.134 15 1 11.866 1 8C1 4.134 4.134 1 8 1C11.866 1 15 4.134 15 8H8V15Z" fill="#62B543" fill-opacity="0.6"/>
<path id="Vector_2" fill-rule="evenodd" clip-rule="evenodd" d="M8.00001 9.32546V9.99479C7.96296 9.99826 7.92599 10 7.88911 10C7.07966 10 6.00011 9.9211 6.00011 8.0001C6.00011 6.32043 7.45594 6.0001 8.00011 6.0001C8.15311 6.0001 9.74511 6.0551 9.82411 6.0791L9.75124 8H8.76699C8.7695 7.96484 8.77154 7.9292 8.77311 7.8931L8.84211 6.6991L8.80011 6.6891C8.68511 6.6621 8.59811 6.6481 8.50011 6.6371C8.40211 6.6271 8.30411 6.6221 8.20211 6.6221C7.97811 6.6221 7.78611 6.6681 7.62811 6.7611C7.47311 6.8511 7.34511 6.9741 7.24611 7.1241C7.15111 7.2721 7.08111 7.4411 7.03911 7.6261C6.99711 7.8091 6.97611 7.9961 6.97611 8.1841C6.97611 8.5861 7.04911 8.8721 7.19711 9.0581C7.34911 9.2481 7.55411 9.3451 7.80511 9.3451C7.87359 9.3451 7.93863 9.33855 8.00001 9.32546ZM11.9819 8H11.0207C11.0512 7.78917 11.0601 7.61595 11.0601 7.5471C11.0601 4.90741 8.70811 4.7451 8.31611 4.7451C7.77111 4.7451 4.94355 4.85089 4.94355 8.0006C4.94355 8.58402 4.94355 11.2461 7.88911 11.2461C7.91058 11.2461 7.94864 11.2438 8.00001 11.2394V11.9994C7.9664 11.9999 7.93243 12.0001 7.89811 12.0001C7.15577 12.0001 4.00211 12.0001 4.00211 8.0006C4.00211 4.0011 7.66743 4.0011 8.31611 4.0011C8.65106 4.0011 12.0001 4.08643 12.0001 7.5571C12.0001 7.71468 11.9938 7.86209 11.9819 8Z" fill="#231F20" fill-opacity="0.7"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,7 @@
<!-- Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<path fill="#62B543" fill-opacity=".6" d="M15,8 C15,11.866 11.866,15 8,15 C4.134,15 1,11.866 1,8 C1,4.134 4.134,1 8,1 C11.866,1 15,4.134 15,8"/>
<path fill="#231F20" fill-opacity=".7" d="M3.6281,2.7611 C3.4731,2.8511 3.3451,2.9741 3.2461,3.1241 C3.1511,3.2721 3.0811,3.4411 3.0391,3.6261 C2.9971,3.8091 2.9761,3.9961 2.9761,4.1841 C2.9761,4.5861 3.0491,4.8721 3.1971,5.0581 C3.3491,5.2481 3.5541,5.3451 3.8051,5.3451 C3.9701,5.3451 4.1151,5.3071 4.2371,5.2311 C4.3571,5.1581 4.4571,5.0531 4.5331,4.9201 C4.6061,4.7931 4.6631,4.6401 4.7011,4.4641 C4.7391,4.2941 4.7641,4.1011 4.7731,3.8931 L4.8421,2.6991 L4.8001,2.6891 C4.6851,2.6621 4.5981,2.6481 4.5001,2.6371 C4.4021,2.6271 4.3041,2.6221 4.2021,2.6221 C3.9781,2.6221 3.7861,2.6681 3.6281,2.7611 Z M0.0021,4.0006 C0.0021,0.0011 3.66741943,0.0011 4.3161,0.0011 C4.65105644,0.0011 8.0001,0.0864290039 8.0001,3.5571 C8.0001,6.0091 6.4751,6 6.1701,6 C5.67331784,5.97 5.31431784,5.7737 5.0931,5.4111 C4.68260397,5.8037 4.28127064,6 3.8891,6 C3.0796519,6 2.0001,5.9211 2.0001,4.0001 C2.0001,2.32043457 3.45593262,2.0001 4.0001,2.0001 C4.1531,2.0001 5.7451,2.0551 5.8241,2.0791 L5.7441,4.1881 C5.6361,4.89276667 5.7991,5.2451 6.2331,5.2451 C6.95605469,5.2451 7.0601,3.7831 7.0601,3.5471 C7.0601,0.907409668 4.7081,0.7451 4.3161,0.7451 C3.7711,0.7451 0.94354248,0.850891113 0.94354248,4.0006 C0.94354248,4.58402311 0.94354248,7.2461 3.8891,7.2461 C4.0901,7.2461 5.7441,7.04302979 6.1621,6.8281 L6.1621,7.5781 C5.8551,7.7031 5.0931,8.0001 3.8981,8.0001 C3.15576172,8.0001 0.0021,8.0001 0.0021,4.0006 Z" transform="translate(4 4)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,13 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="classKotlin">
<g id="&#226;&#140;&#152;/modifier/kotlin">
<path id="&#226;&#140;&#152;/modifier/kotlin_2" d="M16 16H9V9H16L12.4 12.4L16 16Z" fill="#B99BF8"/>
</g>
<path id="Vector" fill-rule="evenodd" clip-rule="evenodd" d="M8 15C4.134 15 1 11.866 1 8C1 4.134 4.134 1 8 1C11.866 1 15 4.134 15 8H8V15Z" fill="#40B6E0" fill-opacity="0.6"/>
<path id="Vector_2" fill-rule="evenodd" clip-rule="evenodd" d="M8.00001 11.0004C6.36299 10.9992 5.00021 9.68165 5.00021 8.0004C5.00021 6.3584 6.34021 5.0004 8.09821 5.0004C9.28828 5.0004 9.82941 5.27018 10.5162 5.83673L9.90001 6.55426C9.54835 6.18475 8.94835 6 8.10001 6C6.97101 6 6.00001 6.7124 6.00001 8.0004C6.00001 9.23838 6.99405 9.97382 8.00001 9.99976V11.0004V11.0004Z" fill="#231F20" fill-opacity="0.7"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 982 B

View File

@@ -0,0 +1,7 @@
<!-- Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<path fill="#40B6E0" fill-opacity=".6" d="M15,8 C15,11.866 11.866,15 8,15 C4.134,15 1,11.866 1,8 C1,4.134 4.134,1 8,1 C11.866,1 15,4.134 15,8"/>
<path fill="#231F20" fill-opacity=".7" d="M5,4.28253174 C4.53,4.74153174 4.028,4.978 3.1,5 C2.061,5.022 1,4.2794 1,3.0004 C1,1.7124 1.971,1 3.1,1 C3.94833171,1 4.54833171,1.18475342 4.9,1.55426025 L5.5162,0.836730957 C4.8293999,0.270175195 4.28826904,0.0004 3.0982,0.0004 C1.3402,0.0004 0.0002,1.3584 0.0002,3.0004 C0.0002,4.6824 1.3642,6.0004 3.0022,6.0004 C4.29284668,6.0004 5.0232,5.5934 5.6162,4.9814 C5.2054,4.51548783 5,4.28253174 5,4.28253174 Z" transform="translate(5 5)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 918 B

View File

@@ -0,0 +1,13 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="enumKotlin">
<g id="&#226;&#140;&#152;/modifier/kotlin">
<path id="&#226;&#140;&#152;/modifier/kotlin_2" d="M16 16H9V9H16L12.4 12.4L16 16Z" fill="#B99BF8"/>
</g>
<path id="Vector" fill-rule="evenodd" clip-rule="evenodd" d="M8 15C4.134 15 1 11.866 1 8C1 4.134 4.134 1 8 1C11.866 1 15 4.134 15 8H8V15Z" fill="#40B6E0" fill-opacity="0.6"/>
<path id="Vector_2" fill-rule="evenodd" clip-rule="evenodd" d="M8 11H6V5H10V6H7V7H9V8H7V10H8V11Z" fill="#231F20" fill-opacity="0.7"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 702 B

View File

@@ -0,0 +1,7 @@
<!-- Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<path fill="#40B6E0" fill-opacity=".6" d="M15,8 C15,11.866 11.866,15 8,15 C4.134,15 1,11.866 1,8 C1,4.134 4.134,1 8,1 C11.866,1 15,4.134 15,8"/>
<polygon fill="#231F20" fill-opacity=".7" points="4 6 0 6 0 0 4 0 4 1 1 1 1 2 3.5 2 3.5 3 1 3 1 5 4 5" transform="translate(6 5)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 568 B

View File

@@ -0,0 +1,7 @@
<!-- Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<path fill="#40B6E0" fill-opacity=".6" d="M15,8 C15,11.866 11.866,15 8,15 C4.134,15 1,11.866 1,8 C1,4.134 4.134,1 8,1 C11.866,1 15,4.134 15,8"/>
<polygon fill="#231F20" fill-opacity=".7" points="7 13 9 9 4 9 9 3 8 7 12 7"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 515 B

View File

@@ -0,0 +1,10 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<rect width="14" height="14" x="1" y="1" fill="#B99BF8" fill-opacity=".6" rx="3"/>
<path fill="#231F20" fill-opacity=".7" d="M2.2939,6 L-0.0001,0 L1.2,0 C2.3886,3.13933333 2.98856667,4.73933333 2.9999,4.8 L4.8,0 L5.9999,0 L3.7059,6 L2.2939,6 Z" transform="translate(5 5)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 534 B

View File

@@ -0,0 +1,10 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<path fill="#B99BF8" fill-opacity=".6" d="M15,8 C15,11.866 11.866,15 8,15 C4.134,15 1,11.866 1,8 C1,4.134 4.134,1 8,1 C11.866,1 15,4.134 15,8"/>
<path fill="#231F20" fill-opacity=".7" d="M2.2939,6 L-0.0001,0 L1.2,0 C2.3886,3.13933333 2.98856667,4.73933333 2.9999,4.8 L4.8,0 L5.9999,0 L3.7059,6 L2.2939,6 Z" transform="translate(5 5)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 596 B

View File

@@ -0,0 +1,7 @@
<!-- Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<path fill="#F98B9E" fill-opacity=".6" d="M15,8 C15,11.866 11.866,15 8,15 C4.134,15 1,11.866 1,8 C1,4.134 4.134,1 8,1 C11.866,1 15,4.134 15,8"/>
<path fill="#231F20" fill-opacity=".7" d="M1,8 L2,8 L2,4 L3.5,4 L3.5,3 L2,3 C1.99687783,2.36169171 1.99509925,2.02835838 1.99466424,2 C1.98704681,1.50341351 2.13289549,1.0728225 2.43221029,0.972167969 C2.91964141,0.808253079 3.56884985,1.02114795 3.68984985,1.06414795 L3.98519897,0.226043701 C3.90948298,0.198825534 3.4559021,0 2.81140137,0 C2.16690063,1.40512602e-16 1.81677246,0.0614013672 1.4818929,0.388793945 C1.16513106,0.698473875 1.01614114,1.22015248 1.00124609,2 C1.00039414,2.04460465 0.999980878,2.95274463 1,3 C1.00000736,3.01819872 0.666674031,3.01819872 0,3 L0,3.972 L1,3.972 L1,8 Z" transform="translate(6 4)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,13 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="interfaceKotlin">
<path id="Vector" fill-rule="evenodd" clip-rule="evenodd" d="M8 15C4.134 15 1 11.866 1 8C1 4.134 4.134 1 8 1C11.866 1 15 4.134 15 8H8V15Z" fill="#62B543" fill-opacity="0.6"/>
<path id="Vector_2" opacity="0.7" d="M8 11H6V10.0065L7.4 10V6H6V5H10V6H8.6V8H8V11Z" fill="#231F20"/>
<g id="&#226;&#140;&#152;/modifier/kotlin">
<path id="&#226;&#140;&#152;/modifier/kotlin_2" d="M16 16H9V9H16L12.4 12.4L16 16Z" fill="#B99BF8"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 674 B

View File

@@ -0,0 +1,7 @@
<!-- Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<path fill="#62B543" fill-opacity=".6" d="M15,8 C15,11.866 11.866,15 8,15 C4.134,15 1,11.866 1,8 C1,4.134 4.134,1 8,1 C11.866,1 15,4.134 15,8"/>
<polygon fill="#231F20" fill-rule="nonzero" points="8.6 10 8.6 6 10 6 10 5 6 5 6 6 7.4 6 7.4 10 6 10.007 6 11 10 11 10 10" opacity=".7"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 574 B

View File

@@ -0,0 +1,13 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="objectKotlin">
<path id="Vector" fill-rule="evenodd" clip-rule="evenodd" d="M8 15C4.134 15 1 11.866 1 8C1 4.134 4.134 1 8 1C11.866 1 15 4.134 15 8H8V15Z" fill="#F4AF3D" fill-opacity="0.6"/>
<path id="Vector_2" fill-rule="evenodd" clip-rule="evenodd" d="M11 8H9.94262C9.94262 6.87293 9.13115 5.94475 7.9918 5.94475C6.85246 5.94475 6.05738 6.85635 6.05738 7.98343V8C6.05738 9.12437 6.86496 10.0508 8 10.0552V11C7.99727 11 7.99454 11 7.9918 11C6.22951 11 5 9.64917 5 8.01657V8C5 6.3674 6.2459 5 8.0082 5C9.77049 5 11 6.35083 11 7.98343V8Z" fill="#231F20" fill-opacity="0.7"/>
<g id="&#226;&#140;&#152;/modifier/kotlin">
<path id="&#226;&#140;&#152;/modifier/kotlin_2" d="M16 16H9V9H16L12.4 12.4L16 16Z" fill="#B99BF8"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 953 B

View File

@@ -0,0 +1,13 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="typeAlias">
<path id="Vector" fill-rule="evenodd" clip-rule="evenodd" d="M8 15C4.134 15 1 11.866 1 8C1 4.134 4.134 1 8 1C11.866 1 15 4.134 15 8H8V15Z" fill="#B99BF8" fill-opacity="0.6"/>
<path id="Vector_2" fill-rule="evenodd" clip-rule="evenodd" d="M8.5 8H8V11H7.5V6H5.5V5H10.5V6H8.5V8Z" fill="#231F20" fill-opacity="0.7"/>
<g id="&#226;&#140;&#152;/modifier/kotlin">
<path id="&#226;&#140;&#152;/modifier/kotlin_2" d="M16 16H9V9H16L12.4 12.4L16 16Z" fill="#B99BF8"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 705 B

View File

@@ -0,0 +1,7 @@
<!--
- Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
-->
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.9824 29.0078C21.7625 29.0078 23.5025 28.48 24.9826 27.491C26.4626 26.5021 27.6161 25.0965 28.2973 23.452C28.9785 21.8074 29.1568 19.9978 28.8095 18.252C28.4622 16.5062 27.6051 14.9025 26.3464 13.6439C25.0877 12.3852 23.4841 11.528 21.7382 11.1807C19.9924 10.8335 18.1828 11.0117 16.5383 11.6929C14.8937 12.3741 13.4881 13.5276 12.4992 15.0077C11.5103 16.4877 10.9824 18.2278 10.9824 20.0078C10.9851 22.3939 11.9342 24.6816 13.6214 26.3688C15.3087 28.0561 17.5963 29.0051 19.9824 29.0078ZM19.9824 13.0078C21.8389 13.0078 23.6194 13.7453 24.9322 15.0581C26.2449 16.3708 26.9824 18.1513 26.9824 20.0078C26.9824 21.8643 26.2449 23.6448 24.9322 24.9576C23.6194 26.2703 21.8389 27.0078 19.9824 27.0078V13.0078Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 957 B

View File

@@ -0,0 +1,153 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>pangutext-android</title>
<link href="images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="scripts/sourceset_dependencies.js" async="async"></script>
<link href="styles/style.css" rel="Stylesheet">
<link href="styles/main.css" rel="Stylesheet">
<link href="styles/prism.css" rel="Stylesheet">
<link href="styles/logo-styles.css" rel="Stylesheet">
<link href="styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="scripts/prism.js" async="async"></script>
<script type="text/javascript" src="scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" id="content" pageIds="pangutext-android::////PointingToDeclaration//1826300346">
<div class="breadcrumbs"></div>
<div class="cover ">
<h1 class="cover"><span><span>pangutext-android</span></span></h1>
</div>
<h2 class="">Packages</h2>
<div class="table"><a data-name="47800074%2FPackages%2F1826300346" anchor-label="com.highcapable.pangutext.android" id="47800074%2FPackages%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div>
<div class="main-subrow ">
<div class=""><span class="inline-flex">
<div><a href="pangutext-android/com.highcapable.pangutext.android/index.html">com.highcapable.pangutext.android</a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="47800074%2FPackages%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div class="pull-right">
<div class="platform-tags no-gutters">
<div class="platform-tag jvm-like">androidJvm</div>
</div>
</div>
</div>
<div></div>
</div>
</div>
<a data-name="-1786297%2FPackages%2F1826300346" anchor-label="com.highcapable.pangutext.android.core" id="-1786297%2FPackages%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div>
<div class="main-subrow ">
<div class=""><span class="inline-flex">
<div><a href="pangutext-android/com.highcapable.pangutext.android.core/index.html">com.highcapable.pangutext.android.core</a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1786297%2FPackages%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div class="pull-right">
<div class="platform-tags no-gutters">
<div class="platform-tag jvm-like">androidJvm</div>
</div>
</div>
</div>
<div></div>
</div>
</div>
<a data-name="1681336731%2FPackages%2F1826300346" anchor-label="com.highcapable.pangutext.android.extension" id="1681336731%2FPackages%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div>
<div class="main-subrow ">
<div class=""><span class="inline-flex">
<div><a href="pangutext-android/com.highcapable.pangutext.android.extension/index.html">com.highcapable.pangutext.android.extension</a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1681336731%2FPackages%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div class="pull-right">
<div class="platform-tags no-gutters">
<div class="platform-tag jvm-like">androidJvm</div>
</div>
</div>
</div>
<div></div>
</div>
</div>
<a data-name="-274428634%2FPackages%2F1826300346" anchor-label="com.highcapable.pangutext.android.factory" id="-274428634%2FPackages%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div>
<div class="main-subrow ">
<div class=""><span class="inline-flex">
<div><a href="pangutext-android/com.highcapable.pangutext.android.factory/index.html">com.highcapable.pangutext.android.factory</a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-274428634%2FPackages%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div class="pull-right">
<div class="platform-tags no-gutters">
<div class="platform-tag jvm-like">androidJvm</div>
</div>
</div>
</div>
<div></div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,52 @@
<div class="sideMenuPart" id="pangutext-android-nav-submenu" pageId="pangutext-android::////PointingToDeclaration//1826300346">
<div class="overview"><span class="navButton" onclick="document.getElementById(&quot;pangutext-android-nav-submenu&quot;).classList.toggle(&quot;hidden&quot;);"><span class="navButtonContent"></span></span><a href="index.html"><span><span>pangutext-android</span></span></a></div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-0" pageId="pangutext-android::com.highcapable.pangutext.android////PointingToDeclaration//1826300346">
<div class="overview"><span class="navButton" onclick="document.getElementById(&quot;pangutext-android-nav-submenu-0&quot;).classList.toggle(&quot;hidden&quot;);"><span class="navButtonContent"></span></span><a href="pangutext-android/com.highcapable.pangutext.android/index.html"><span>com.</span><wbr></wbr><span>highcapable.</span><wbr></wbr><span>pangutext.</span><wbr></wbr><span>android</span></a></div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-0-0" pageId="pangutext-android::com.highcapable.pangutext.android/PanguText///PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android/-pangu-text/index.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon object"></span><span class="nav-link-child"><span>Pangu</span><wbr></wbr><span><span>Text</span></span></span></span></a></div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-0-1" pageId="pangutext-android::com.highcapable.pangutext.android/PanguTextConfig///PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android/-pangu-text-config/index.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon class-kt"></span><span class="nav-link-child"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Config</span></span></span></span></a></div>
</div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-1" pageId="pangutext-android::com.highcapable.pangutext.android.core////PointingToDeclaration//1826300346">
<div class="overview"><span class="navButton" onclick="document.getElementById(&quot;pangutext-android-nav-submenu-1&quot;).classList.toggle(&quot;hidden&quot;);"><span class="navButtonContent"></span></span><a href="pangutext-android/com.highcapable.pangutext.android.core/index.html"><span>com.</span><wbr></wbr><span>highcapable.</span><wbr></wbr><span>pangutext.</span><wbr></wbr><span>android.</span><wbr></wbr><span>core</span></a></div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-1-0" pageId="pangutext-android::com.highcapable.pangutext.android.core/PanguTextView///PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android.core/-pangu-text-view/index.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon interface-kt"></span><span class="nav-link-child"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>View</span></span></span></span></a></div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-1-1" pageId="pangutext-android::com.highcapable.pangutext.android.core/PanguTextWatcher///PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android.core/-pangu-text-watcher/index.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon class-kt"></span><span class="nav-link-child"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Watcher</span></span></span></span></a></div>
</div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-2" pageId="pangutext-android::com.highcapable.pangutext.android.extension////PointingToDeclaration//1826300346">
<div class="overview"><span class="navButton" onclick="document.getElementById(&quot;pangutext-android-nav-submenu-2&quot;).classList.toggle(&quot;hidden&quot;);"><span class="navButtonContent"></span></span><a href="pangutext-android/com.highcapable.pangutext.android.extension/index.html"><span>com.</span><wbr></wbr><span>highcapable.</span><wbr></wbr><span>pangutext.</span><wbr></wbr><span>android.</span><wbr></wbr><span>extension</span></a></div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-2-0" pageId="pangutext-android::com.highcapable.pangutext.android.extension//injectPanguText/android.widget.TextView#kotlin.Boolean#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android.extension/inject-pangu-text.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon function"></span><span class="nav-link-child"><span>inject</span><wbr></wbr><span>Pangu</span><wbr></wbr><span><span>Text()</span></span></span></span></a></div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-2-1" pageId="pangutext-android::com.highcapable.pangutext.android.extension//injectRealTimePanguText/android.widget.TextView#kotlin.Boolean#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android.extension/inject-real-time-pangu-text.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon function"></span><span class="nav-link-child"><span>inject</span><wbr></wbr><span>Real</span><wbr></wbr><span>Time</span><wbr></wbr><span>Pangu</span><wbr></wbr><span><span>Text()</span></span></span></span></a></div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-2-2" pageId="pangutext-android::com.highcapable.pangutext.android.extension//PanguTextConfig/#kotlin.Boolean#kotlin.Function1[com.highcapable.pangutext.android.PanguTextConfig,kotlin.Unit]/PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android.extension/-pangu-text-config.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon function"></span><span class="nav-link-child"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Config()</span></span></span></span></a></div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-2-3" pageId="pangutext-android::com.highcapable.pangutext.android.extension//setHintWithPangu/android.widget.TextView#kotlin.CharSequence?#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android.extension/set-hint-with-pangu.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon function"></span><span class="nav-link-child"><span>set</span><wbr></wbr><span>Hint</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu()</span></span></span></span></a></div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-2-4" pageId="pangutext-android::com.highcapable.pangutext.android.extension//setTextWithPangu/android.widget.TextView#kotlin.CharSequence?#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android.extension/set-text-with-pangu.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon function"></span><span class="nav-link-child"><span>set</span><wbr></wbr><span>Text</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu()</span></span></span></span></a></div>
</div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-3" pageId="pangutext-android::com.highcapable.pangutext.android.factory////PointingToDeclaration//1826300346">
<div class="overview"><span class="navButton" onclick="document.getElementById(&quot;pangutext-android-nav-submenu-3&quot;).classList.toggle(&quot;hidden&quot;);"><span class="navButtonContent"></span></span><a href="pangutext-android/com.highcapable.pangutext.android.factory/index.html"><span>com.</span><wbr></wbr><span>highcapable.</span><wbr></wbr><span>pangutext.</span><wbr></wbr><span>android.</span><wbr></wbr><span>factory</span></a></div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-3-0" pageId="pangutext-android::com.highcapable.pangutext.android.factory/PanguTextFactory2///PointingToDeclaration//1826300346">
<div class="overview"><span class="navButton" onclick="document.getElementById(&quot;pangutext-android-nav-submenu-3-0&quot;).classList.toggle(&quot;hidden&quot;);"><span class="navButtonContent"></span></span><a href="pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-factory2/index.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon class-kt"></span><span class="nav-link-child"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Factory2</span></span></span></span></a></div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-3-0-0" pageId="pangutext-android::com.highcapable.pangutext.android.factory/PanguTextFactory2.Companion///PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-factory2/-companion/index.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon object"></span><span class="nav-link-child"><span><span>Companion</span></span></span></span></a></div>
</div>
</div>
<div class="sideMenuPart" id="pangutext-android-nav-submenu-3-1" pageId="pangutext-android::com.highcapable.pangutext.android.factory/PanguTextPatcher///PointingToDeclaration//1826300346">
<div class="overview"><a href="pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-patcher/index.html"><span class="nav-link-grid"><span class="nav-link-child nav-icon object"></span><span class="nav-link-child"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Patcher</span></span></span></span></a></div>
</div>
</div>
</div>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>configurePanguText</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.core/PanguTextView/configurePanguText/#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.core</a><span class="delimiter">/</span><a href="index.html">PanguTextView</a><span class="delimiter">/</span><span class="current">configurePanguText</span></div>
<div class="cover ">
<h1 class="cover"><span>configure</span><wbr></wbr><span>Pangu</span><wbr></wbr><span><span>Text</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">abstract </span><span class="token keyword">fun </span><a href="configure-pangu-text.html"><span class="token function">configurePanguText</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">config<span class="token operator">: </span><a href="../../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a></span></span><span class="token punctuation">)</span></div><p class="paragraph">Configure the <a href="../../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p><p class="paragraph">Configuring this item separately will override global settings.</p><h4 class="">See also</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="../../com.highcapable.pangutext.android/-pangu-text/global-config.html"><span>PanguText.</span><wbr></wbr><span>global</span><wbr></wbr><span><span>Config</span></span></a></div></span></div><div></div></div></div></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,104 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>PanguTextView</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="classlike" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.core/PanguTextView///PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.core</a><span class="delimiter">/</span><span class="current">PanguTextView</span></div>
<div class="cover ">
<h1 class="cover"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>View</span></span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">interface </span><a href="index.html">PanguTextView</a></div><p class="paragraph">The <a href="../../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> config interface.</p></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
<div class="tabs-section-body">
<div data-togglable="FUNCTION">
<h2 class="">Functions</h2>
<div class="table"><a data-name="-1720360993%2FFunctions%2F1826300346" anchor-label="configurePanguText" id="-1720360993%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="configure-pangu-text.html"><span>configure</span><wbr></wbr><span>Pangu</span><wbr></wbr><span><span>Text</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1720360993%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">abstract </span><span class="token keyword">fun </span><a href="configure-pangu-text.html"><span class="token function">configurePanguText</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">config<span class="token operator">: </span><a href="../../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a></span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Configure the <a href="../../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>afterTextChanged</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.core/PanguTextWatcher/afterTextChanged/#android.text.Editable?/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.core</a><span class="delimiter">/</span><a href="index.html">PanguTextWatcher</a><span class="delimiter">/</span><span class="current">afterTextChanged</span></div>
<div class="cover ">
<h1 class="cover"><span>after</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Changed</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="after-text-changed.html"><span class="token function">afterTextChanged</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">editable<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/text/Editable.html">Editable</a><span class="token operator">?</span></span></span><span class="token punctuation">)</span></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>beforeTextChanged</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.core/PanguTextWatcher/beforeTextChanged/#kotlin.CharSequence?#kotlin.Int#kotlin.Int#kotlin.Int/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.core</a><span class="delimiter">/</span><a href="index.html">PanguTextWatcher</a><span class="delimiter">/</span><span class="current">beforeTextChanged</span></div>
<div class="cover ">
<h1 class="cover"><span>before</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Changed</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="before-text-changed.html"><span class="token function">beforeTextChanged</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">s<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">start<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span></span><span class="parameter ">count<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span></span><span class="parameter ">after<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a></span></span><span class="token punctuation">)</span></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,134 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>PanguTextWatcher</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="classlike" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.core/PanguTextWatcher///PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.core</a><span class="delimiter">/</span><span class="current">PanguTextWatcher</span></div>
<div class="cover ">
<h1 class="cover"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Watcher</span></span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">PanguTextWatcher</a> : <a href="https://developer.android.com/reference/kotlin/android/text/TextWatcher.html">TextWatcher</a></div><p class="paragraph">A <a href="https://developer.android.com/reference/kotlin/android/text/TextWatcher.html">TextWatcher</a> that automatically applies <a href="../../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> to the text content.</p><p class="paragraph">You don't need to create it manually, use <a href="../../com.highcapable.pangutext.android.extension/inject-real-time-pangu-text.html">TextView.injectRealTimePanguText</a> instead.</p><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>base</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the base <a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a>.</p></div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>config</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the configuration of <a href="../../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p></div></div></div></div></div></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
<div class="tabs-section-body">
<div data-togglable="FUNCTION">
<h2 class="">Functions</h2>
<div class="table"><a data-name="1593686936%2FFunctions%2F1826300346" anchor-label="afterTextChanged" id="1593686936%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="after-text-changed.html"><span>after</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Changed</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1593686936%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="after-text-changed.html"><span class="token function">afterTextChanged</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">editable<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/text/Editable.html">Editable</a><span class="token operator">?</span></span></span><span class="token punctuation">)</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-146111102%2FFunctions%2F1826300346" anchor-label="beforeTextChanged" id="-146111102%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="before-text-changed.html"><span>before</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Changed</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-146111102%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="before-text-changed.html"><span class="token function">beforeTextChanged</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">s<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">start<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span></span><span class="parameter ">count<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span></span><span class="parameter ">after<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a></span></span><span class="token punctuation">)</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1581163870%2FFunctions%2F1826300346" anchor-label="onTextChanged" id="-1581163870%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="on-text-changed.html"><span>on</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Changed</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1581163870%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="on-text-changed.html"><span class="token function">onTextChanged</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">s<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">start<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span></span><span class="parameter ">before<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span></span><span class="parameter ">count<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a></span></span><span class="token punctuation">)</span></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>onTextChanged</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.core/PanguTextWatcher/onTextChanged/#kotlin.CharSequence?#kotlin.Int#kotlin.Int#kotlin.Int/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.core</a><span class="delimiter">/</span><a href="index.html">PanguTextWatcher</a><span class="delimiter">/</span><span class="current">onTextChanged</span></div>
<div class="cover ">
<h1 class="cover"><span>on</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Changed</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="on-text-changed.html"><span class="token function">onTextChanged</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">s<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">start<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span></span><span class="parameter ">before<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span></span><span class="parameter ">count<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-int/index.html">Int</a></span></span><span class="token punctuation">)</span></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,118 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>com.highcapable.pangutext.android.core</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="package" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.core////PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../index.html">pangutext-android</a><span class="delimiter">/</span><span class="current">com.highcapable.pangutext.android.core</span></div>
<div class="cover ">
<h1 class="cover"><span><span>Package-level</span></span> <span><span>declarations</span></span></h1>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="TYPE">Types</button></div>
<div class="tabs-section-body">
<div data-togglable="TYPE">
<h2 class="">Types</h2>
<div class="table"><a data-name="1312221118%2FClasslikes%2F1826300346" anchor-label="PanguTextView" id="1312221118%2FClasslikes%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="-pangu-text-view/index.html"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>View</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1312221118%2FClasslikes%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">interface </span><a href="-pangu-text-view/index.html">PanguTextView</a></div><div class="brief "><p class="paragraph">The <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> config interface.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1505758755%2FClasslikes%2F1826300346" anchor-label="PanguTextWatcher" id="1505758755%2FClasslikes%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="-pangu-text-watcher/index.html"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Watcher</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1505758755%2FClasslikes%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">class </span><a href="-pangu-text-watcher/index.html">PanguTextWatcher</a> : <a href="https://developer.android.com/reference/kotlin/android/text/TextWatcher.html">TextWatcher</a></div><div class="brief "><p class="paragraph">A <a href="https://developer.android.com/reference/kotlin/android/text/TextWatcher.html">TextWatcher</a> that automatically applies <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> to the text content.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>PanguTextConfig</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.extension//PanguTextConfig/#kotlin.Boolean#kotlin.Function1[com.highcapable.pangutext.android.PanguTextConfig,kotlin.Unit]/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="index.html">com.highcapable.pangutext.android.extension</a><span class="delimiter">/</span><span class="current">PanguTextConfig</span></div>
<div class="cover ">
<h1 class="cover"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Config</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="-pangu-text-config.html"><span class="token function">PanguTextConfig</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">copyFromGlobal<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">body<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token punctuation">.</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-unit/index.html">Unit</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div><p class="paragraph">Create a new instance of <a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a>.</p><span class="kdoc-tag"><h4 class="">Return</h4><p class="paragraph"><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a></p></span><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>copy</span><wbr></wbr><span>From</span><wbr></wbr><span><span>Global</span></span></u></div></span></div><div><div class="title"><p class="paragraph">whether to copy the <a href="../com.highcapable.pangutext.android/-pangu-text/global-config.html">PanguText.globalConfig</a>, default is true.</p></div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>body</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the configuration body.</p></div></div></div></div></div><h4 class="">See also</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Config</span></span></a></div></span></div><div></div></div></div></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,163 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>com.highcapable.pangutext.android.extension</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="package" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.extension////PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../index.html">pangutext-android</a><span class="delimiter">/</span><span class="current">com.highcapable.pangutext.android.extension</span></div>
<div class="cover ">
<h1 class="cover"><span><span>Package-level</span></span> <span><span>declarations</span></span></h1>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="FUNCTION,EXTENSION_FUNCTION">Functions</button></div>
<div class="tabs-section-body">
<div data-togglable="FUNCTION">
<h2 class="">Functions</h2>
<div class="table"><a data-name="1368205854%2FFunctions%2F1826300346" anchor-label="injectPanguText" id="1368205854%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="inject-pangu-text.html"><span>inject</span><wbr></wbr><span>Pangu</span><wbr></wbr><span><span>Text</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1368205854%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a><span class="token punctuation">.</span><a href="inject-pangu-text.html"><span class="token function">injectPanguText</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">injectHint<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Inject <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> to the current text content once.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-919578413%2FFunctions%2F1826300346" anchor-label="injectRealTimePanguText" id="-919578413%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="inject-real-time-pangu-text.html"><span>inject</span><wbr></wbr><span>Real</span><wbr></wbr><span>Time</span><wbr></wbr><span>Pangu</span><wbr></wbr><span><span>Text</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-919578413%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a><span class="token punctuation">.</span><a href="inject-real-time-pangu-text.html"><span class="token function">injectRealTimePanguText</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">injectHint<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Inject <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> to the current text content in real time.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1093116113%2FFunctions%2F1826300346" anchor-label="PanguTextConfig" id="1093116113%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="-pangu-text-config.html"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Config</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1093116113%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="-pangu-text-config.html"><span class="token function">PanguTextConfig</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">copyFromGlobal<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">body<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token punctuation">.</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-unit/index.html">Unit</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div><div class="brief "><p class="paragraph">Create a new instance of <a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-155686779%2FFunctions%2F1826300346" anchor-label="setHintWithPangu" id="-155686779%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="set-hint-with-pangu.html"><span>set</span><wbr></wbr><span>Hint</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-155686779%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a><span class="token punctuation">.</span><a href="set-hint-with-pangu.html"><span class="token function">setHintWithPangu</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Use <a href="../com.highcapable.pangutext.android/-pangu-text/format.html">PanguText.format</a> to format the hint text content.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-925567713%2FFunctions%2F1826300346" anchor-label="setTextWithPangu" id="-925567713%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="set-text-with-pangu.html"><span>set</span><wbr></wbr><span>Text</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-925567713%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a><span class="token punctuation">.</span><a href="set-text-with-pangu.html"><span class="token function">setTextWithPangu</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Use <a href="../com.highcapable.pangutext.android/-pangu-text/format.html">PanguText.format</a> to format the text content.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>injectPanguText</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.extension//injectPanguText/android.widget.TextView#kotlin.Boolean#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="index.html">com.highcapable.pangutext.android.extension</a><span class="delimiter">/</span><span class="current">injectPanguText</span></div>
<div class="cover ">
<h1 class="cover"><span>inject</span><wbr></wbr><span>Pangu</span><wbr></wbr><span><span>Text</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a><span class="token punctuation">.</span><a href="inject-pangu-text.html"><span class="token function">injectPanguText</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">injectHint<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><p class="paragraph">Inject <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> to the current text content once.</p><span class="kdoc-tag"><h4 class="">Receiver</h4><p class="paragraph"><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a></p></span><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>inject</span><wbr></wbr><span><span>Hint</span></span></u></div></span></div><div><div class="title"><p class="paragraph">whether to apply <a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html#sethint">TextView.setHint</a>, default is true.</p></div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>config</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the configuration of <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p></div></div></div></div></div><h4 class="">See also</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="set-text-with-pangu.html"><span>set</span><wbr></wbr><span>Text</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu</span></span></a></div></span></div><div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="set-hint-with-pangu.html"><span>set</span><wbr></wbr><span>Hint</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu</span></span></a></div></span></div><div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="../com.highcapable.pangutext.android/-pangu-text/format.html"><span>PanguText.</span><wbr></wbr><span>format</span></a></div></span></div><div></div></div></div></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>injectRealTimePanguText</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.extension//injectRealTimePanguText/android.widget.TextView#kotlin.Boolean#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="index.html">com.highcapable.pangutext.android.extension</a><span class="delimiter">/</span><span class="current">injectRealTimePanguText</span></div>
<div class="cover ">
<h1 class="cover"><span>inject</span><wbr></wbr><span>Real</span><wbr></wbr><span>Time</span><wbr></wbr><span>Pangu</span><wbr></wbr><span><span>Text</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a><span class="token punctuation">.</span><a href="inject-real-time-pangu-text.html"><span class="token function">injectRealTimePanguText</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">injectHint<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><p class="paragraph">Inject <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> to the current text content in real time.</p><ul><li><p class="paragraph">Note: Repeated inject will be ignored unless the current <a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a> is detached.</p></li></ul><span class="kdoc-tag"><h4 class="">Receiver</h4><p class="paragraph"><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a></p></span><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>inject</span><wbr></wbr><span><span>Hint</span></span></u></div></span></div><div><div class="title"><p class="paragraph">whether to apply <a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html#sethint">TextView.setHint</a>, default is true.</p></div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>config</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the configuration of <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p></div></div></div></div></div><h4 class="">See also</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="set-text-with-pangu.html"><span>set</span><wbr></wbr><span>Text</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu</span></span></a></div></span></div><div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="set-hint-with-pangu.html"><span>set</span><wbr></wbr><span>Hint</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu</span></span></a></div></span></div><div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="../com.highcapable.pangutext.android/-pangu-text/format.html"><span>PanguText.</span><wbr></wbr><span>format</span></a></div></span></div><div></div></div></div></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>setHintWithPangu</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.extension//setHintWithPangu/android.widget.TextView#kotlin.CharSequence?#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="index.html">com.highcapable.pangutext.android.extension</a><span class="delimiter">/</span><span class="current">setHintWithPangu</span></div>
<div class="cover ">
<h1 class="cover"><span>set</span><wbr></wbr><span>Hint</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a><span class="token punctuation">.</span><a href="set-hint-with-pangu.html"><span class="token function">setHintWithPangu</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><p class="paragraph">Use <a href="../com.highcapable.pangutext.android/-pangu-text/format.html">PanguText.format</a> to format the hint text content.</p><span class="kdoc-tag"><h4 class="">Receiver</h4><p class="paragraph"><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a></p></span><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>text</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the text content.</p></div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>config</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the configuration of <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p></div></div></div></div></div><h4 class="">See also</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="../com.highcapable.pangutext.android/-pangu-text/format.html"><span>PanguText.</span><wbr></wbr><span>format</span></a></div></span></div><div></div></div></div></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>setTextWithPangu</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.extension//setTextWithPangu/android.widget.TextView#kotlin.CharSequence?#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="index.html">com.highcapable.pangutext.android.extension</a><span class="delimiter">/</span><span class="current">setTextWithPangu</span></div>
<div class="cover ">
<h1 class="cover"><span>set</span><wbr></wbr><span>Text</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Pangu</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a><span class="token punctuation">.</span><a href="set-text-with-pangu.html"><span class="token function">setTextWithPangu</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><p class="paragraph">Use <a href="../com.highcapable.pangutext.android/-pangu-text/format.html">PanguText.format</a> to format the text content.</p><span class="kdoc-tag"><h4 class="">Receiver</h4><p class="paragraph"><a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a></p></span><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>text</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the text content.</p></div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>config</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the configuration of <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p></div></div></div></div></div><h4 class="">See also</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><a href="../com.highcapable.pangutext.android/-pangu-text/format.html"><span>PanguText.</span><wbr></wbr><span>format</span></a></div></span></div><div></div></div></div></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,104 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>Companion</title>
<link href="../../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../../styles/style.css" rel="Stylesheet">
<link href="../../../../styles/main.css" rel="Stylesheet">
<link href="../../../../styles/prism.css" rel="Stylesheet">
<link href="../../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="classlike" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.factory/PanguTextFactory2.Companion///PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../../index.html">com.highcapable.pangutext.android.factory</a><span class="delimiter">/</span><a href="../index.html">PanguTextFactory2</a><span class="delimiter">/</span><span class="current">Companion</span></div>
<div class="cover ">
<h1 class="cover"><span><span>Companion</span></span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">object </span><a href="index.html">Companion</a></div></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
<div class="tabs-section-body">
<div data-togglable="FUNCTION">
<h2 class="">Functions</h2>
<div class="table"><a data-name="1547151326%2FFunctions%2F1826300346" anchor-label="inject" id="1547151326%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="inject.html"><span><span>inject</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1547151326%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-static/index.html"><span class="token annotation builtin">JvmStatic</span></a></div></div><span class="token keyword">fun </span><a href="inject.html"><span class="token function">inject</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">context<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/content/Context.html">Context</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div><div class="brief "><p class="paragraph">Inject <a href="../index.html">PanguTextFactory2</a> to the current <a href="https://developer.android.com/reference/kotlin/android/view/LayoutInflater.html">LayoutInflater</a> of <a href="inject.html">context</a>.</p></div><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-static/index.html"><span class="token annotation builtin">JvmStatic</span></a></div></div><span class="token keyword">fun </span><a href="inject.html"><span class="token function">inject</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">inflater<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/view/LayoutInflater.html">LayoutInflater</a></span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Inject <a href="../index.html">PanguTextFactory2</a> to the current <a href="https://developer.android.com/reference/kotlin/android/view/LayoutInflater.html">LayoutInflater</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,123 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>PanguTextFactory2</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="classlike" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.factory/PanguTextFactory2///PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.factory</a><span class="delimiter">/</span><span class="current">PanguTextFactory2</span></div>
<div class="cover ">
<h1 class="cover"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Factory2</span></span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">PanguTextFactory2</a> : <a href="https://developer.android.com/reference/kotlin/android/view/LayoutInflater.Factory2.html">LayoutInflater.Factory2</a></div><p class="paragraph">Pangu text factory 2 for <a href="https://developer.android.com/reference/kotlin/android/view/LayoutInflater.Factory2.html">LayoutInflater.Factory2</a>.</p><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>base</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the base factory.</p></div></div></div></div></div></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
<div class="tabs-section-body">
<div data-togglable="TYPE">
<h2 class="">Types</h2>
<div class="table"><a data-name="845090526%2FClasslikes%2F1826300346" anchor-label="Companion" id="845090526%2FClasslikes%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="-companion/index.html"><span><span>Companion</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="845090526%2FClasslikes%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">object </span><a href="-companion/index.html">Companion</a></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-togglable="FUNCTION">
<h2 class="">Functions</h2>
<div class="table"><a data-name="777577405%2FFunctions%2F1826300346" anchor-label="onCreateView" id="777577405%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="on-create-view.html"><span>on</span><wbr></wbr><span>Create</span><wbr></wbr><span><span>View</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="777577405%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="on-create-view.html"><span class="token function">onCreateView</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">name<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">context<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/content/Context.html">Context</a><span class="token punctuation">, </span></span><span class="parameter ">attrs<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/util/AttributeSet.html">AttributeSet</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="on-create-view.html"><span class="token function">onCreateView</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">parent<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/view/View.html">View</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">name<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">context<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/content/Context.html">Context</a><span class="token punctuation">, </span></span><span class="parameter ">attrs<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/util/AttributeSet.html">AttributeSet</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>onCreateView</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.factory/PanguTextFactory2/onCreateView/#android.view.View?#kotlin.String#android.content.Context#android.util.AttributeSet/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.factory</a><span class="delimiter">/</span><a href="index.html">PanguTextFactory2</a><span class="delimiter">/</span><span class="current">onCreateView</span></div>
<div class="cover ">
<h1 class="cover"><span>on</span><wbr></wbr><span>Create</span><wbr></wbr><span><span>View</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="on-create-view.html"><span class="token function">onCreateView</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">parent<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/view/View.html">View</a><span class="token operator">?</span><span class="token punctuation">, </span></span><span class="parameter ">name<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">context<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/content/Context.html">Context</a><span class="token punctuation">, </span></span><span class="parameter ">attrs<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/util/AttributeSet.html">AttributeSet</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="on-create-view.html"><span class="token function">onCreateView</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">name<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">context<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/content/Context.html">Context</a><span class="token punctuation">, </span></span><span class="parameter ">attrs<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/util/AttributeSet.html">AttributeSet</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,104 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>PanguTextPatcher</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="classlike" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.factory/PanguTextPatcher///PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.factory</a><span class="delimiter">/</span><span class="current">PanguTextPatcher</span></div>
<div class="cover ">
<h1 class="cover"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Patcher</span></span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">object </span><a href="index.html">PanguTextPatcher</a></div><p class="paragraph">Patcher for <a href="../../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
<div class="tabs-section-body">
<div data-togglable="FUNCTION">
<h2 class="">Functions</h2>
<div class="table"><a data-name="756003430%2FFunctions%2F1826300346" anchor-label="patch" id="756003430%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="patch.html"><span><span>patch</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="756003430%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-static/index.html"><span class="token annotation builtin">JvmStatic</span></a></div></div><span class="token keyword">fun </span><a href="patch.html"><span class="token function">patch</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">view<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/view/View.html">View</a><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Patch <a href="../../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> to the view.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>patch</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.factory/PanguTextPatcher/patch/#android.view.View#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android.factory</a><span class="delimiter">/</span><a href="index.html">PanguTextPatcher</a><span class="delimiter">/</span><span class="current">patch</span></div>
<div class="cover ">
<h1 class="cover"><span><span>patch</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-static/index.html"><span class="token annotation builtin">JvmStatic</span></a></div></div><span class="token keyword">fun </span><a href="patch.html"><span class="token function">patch</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">view<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/view/View.html">View</a><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../../com.highcapable.pangutext.android/-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>PanguText.globalConfig</span></span><span class="token punctuation">)</span></div><p class="paragraph">Patch <a href="../../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a> to the view.</p><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>view</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the view or view group.</p></div></div></div></div><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>config</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the configuration of <a href="../../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p></div></div></div></div></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,118 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>com.highcapable.pangutext.android.factory</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="package" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android.factory////PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../index.html">pangutext-android</a><span class="delimiter">/</span><span class="current">com.highcapable.pangutext.android.factory</span></div>
<div class="cover ">
<h1 class="cover"><span><span>Package-level</span></span> <span><span>declarations</span></span></h1>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="TYPE">Types</button></div>
<div class="tabs-section-body">
<div data-togglable="TYPE">
<h2 class="">Types</h2>
<div class="table"><a data-name="-535136932%2FClasslikes%2F1826300346" anchor-label="PanguTextFactory2" id="-535136932%2FClasslikes%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="-pangu-text-factory2/index.html"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Factory2</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-535136932%2FClasslikes%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">class </span><a href="-pangu-text-factory2/index.html">PanguTextFactory2</a> : <a href="https://developer.android.com/reference/kotlin/android/view/LayoutInflater.Factory2.html">LayoutInflater.Factory2</a></div><div class="brief "><p class="paragraph">Pangu text factory 2 for <a href="https://developer.android.com/reference/kotlin/android/view/LayoutInflater.Factory2.html">LayoutInflater.Factory2</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="650805225%2FClasslikes%2F1826300346" anchor-label="PanguTextPatcher" id="650805225%2FClasslikes%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="-pangu-text-patcher/index.html"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Patcher</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="650805225%2FClasslikes%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">object </span><a href="-pangu-text-patcher/index.html">PanguTextPatcher</a></div><div class="brief "><p class="paragraph">Patcher for <a href="../com.highcapable.pangutext.android/-pangu-text/index.html">PanguText</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>cjkSpacingRatio</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android/PanguTextConfig/cjkSpacingRatio/#/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android</a><span class="delimiter">/</span><a href="index.html">PanguTextConfig</a><span class="delimiter">/</span><span class="current">cjkSpacingRatio</span></div>
<div class="cover ">
<h1 class="cover"><span>cjk</span><wbr></wbr><span>Spacing</span><wbr></wbr><span><span>Ratio</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">var </span><a href="cjk-spacing-ratio.html">cjkSpacingRatio</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-float/index.html">Float</a></div><p class="paragraph">The CJK spacing ratio, default is <span data-unresolved-link="com.highcapable.pangutext.android/PanguTextConfig.Companion/DEFAULT_CJK_SPACING_RATIO/#/PointingToDeclaration/">DEFAULT_CJK_SPACING_RATIO</span>.</p><p class="paragraph">The larger the value, the smaller the spacing, and cannot be less than 0.1f.</p><p class="paragraph">It is recommended to adjust with caution, it will only affect the spacing of CJK characters.</p></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>copy</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android/PanguTextConfig/copy/#kotlin.Function1[com.highcapable.pangutext.android.PanguTextConfig,kotlin.Unit]/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android</a><span class="delimiter">/</span><a href="index.html">PanguTextConfig</a><span class="delimiter">/</span><span class="current">copy</span></div>
<div class="cover ">
<h1 class="cover"><span><span>copy</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="copy.html"><span class="token function">copy</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">body<span class="token operator">: </span><a href="index.html">PanguTextConfig</a><span class="token punctuation">.</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator"> = </span>{}</span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div><p class="paragraph">Copy the current configuration.</p><span class="kdoc-tag"><h4 class="">Return</h4><p class="paragraph"><a href="index.html">PanguTextConfig</a></p></span><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>body</span></span></u></div></span></div><div><div class="title"><p class="paragraph">the configuration body.</p></div></div></div></div></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>excludePatterns</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android/PanguTextConfig/excludePatterns/#/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android</a><span class="delimiter">/</span><a href="index.html">PanguTextConfig</a><span class="delimiter">/</span><span class="current">excludePatterns</span></div>
<div class="cover ">
<h1 class="cover"><span>exclude</span><wbr></wbr><span><span>Patterns</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">val </span><a href="exclude-patterns.html">excludePatterns</a><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div><p class="paragraph">The regular expression for text content that needs to be excluded. <a href="../-pangu-text/index.html">PanguText</a> processing will be skipped after matching these texts.</p><p class="paragraph">Usage:</p><div class="sample-container"><pre><code class="block lang-kotlin" theme="idea">val config: PanguTextConfig<br>// Exclude all URLs.<br>config.excludePatterns.add(&quot;https?://\\S+&quot;.toRegex())<br>// Exclude emoji symbol placeholder like &quot;[doge]&quot;.<br>config.excludePatterns.add(&quot;\\[.*?]&quot;.toRegex())</code></pre><span class="top-right-position"><span class="copy-icon"></span><div class="copy-popup-wrapper popup-to-left"><span class="copy-popup-icon"></span><span>Content copied to clipboard</span></div></span></div></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,183 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>PanguTextConfig</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="classlike" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android/PanguTextConfig///PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android</a><span class="delimiter">/</span><span class="current">PanguTextConfig</span></div>
<div class="cover ">
<h1 class="cover"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Config</span></span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">PanguTextConfig</a> : <a href="https://developer.android.com/reference/kotlin/java/io/Serializable.html">Serializable</a></div><p class="paragraph">The <a href="../-pangu-text/index.html">PanguText</a> configuration.</p></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
<div class="tabs-section-body">
<div data-togglable="PROPERTY">
<h2 class="">Properties</h2>
<div class="table"><a data-name="131956685%2FProperties%2F1826300346" anchor-label="cjkSpacingRatio" id="131956685%2FProperties%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="cjk-spacing-ratio.html"><span>cjk</span><wbr></wbr><span>Spacing</span><wbr></wbr><span><span>Ratio</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="131956685%2FProperties%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">var </span><a href="cjk-spacing-ratio.html">cjkSpacingRatio</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-float/index.html">Float</a></div><div class="brief "><p class="paragraph">The CJK spacing ratio, default is <span data-unresolved-link="com.highcapable.pangutext.android/PanguTextConfig.Companion/DEFAULT_CJK_SPACING_RATIO/#/PointingToDeclaration/">DEFAULT_CJK_SPACING_RATIO</span>.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1691355804%2FProperties%2F1826300346" anchor-label="excludePatterns" id="1691355804%2FProperties%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="exclude-patterns.html"><span>exclude</span><wbr></wbr><span><span>Patterns</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1691355804%2FProperties%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">val </span><a href="exclude-patterns.html">excludePatterns</a><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div><div class="brief "><p class="paragraph">The regular expression for text content that needs to be excluded. <a href="../-pangu-text/index.html">PanguText</a> processing will be skipped after matching these texts.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-163781734%2FProperties%2F1826300346" anchor-label="isAutoRemeasureText" id="-163781734%2FProperties%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="is-auto-remeasure-text.html"><span>is</span><wbr></wbr><span>Auto</span><wbr></wbr><span>Remeasure</span><wbr></wbr><span><span>Text</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-163781734%2FProperties%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">var </span><a href="is-auto-remeasure-text.html">isAutoRemeasureText</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div><div class="brief "><p class="paragraph">Whether to automatically re-measure the text width after processing.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-327273214%2FProperties%2F1826300346" anchor-label="isEnabled" id="-327273214%2FProperties%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="is-enabled.html"><span>is</span><wbr></wbr><span><span>Enabled</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-327273214%2FProperties%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">var </span><a href="is-enabled.html">isEnabled</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div><div class="brief "><p class="paragraph">Enable the <a href="../-pangu-text/index.html">PanguText</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-422080542%2FProperties%2F1826300346" anchor-label="isProcessedSpanned" id="-422080542%2FProperties%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="is-processed-spanned.html"><span>is</span><wbr></wbr><span>Processed</span><wbr></wbr><span><span>Spanned</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-422080542%2FProperties%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">var </span><a href="is-processed-spanned.html">isProcessedSpanned</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div><div class="brief "><p class="paragraph">Processed <a href="https://developer.android.com/reference/kotlin/android/text/Spanned.html">Spanned</a> text (experimental).</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-togglable="FUNCTION">
<h2 class="">Functions</h2>
<div class="table"><a data-name="1909876963%2FFunctions%2F1826300346" anchor-label="copy" id="1909876963%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="copy.html"><span><span>copy</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1909876963%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div></div><span class="token keyword">fun </span><a href="copy.html"><span class="token function">copy</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">body<span class="token operator">: </span><a href="index.html">PanguTextConfig</a><span class="token punctuation">.</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator"> = </span>{}</span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="/&amp;lt;Error class: unknown class&amp;gt;///PointingToDeclaration/">&lt;Error class: unknown class&gt;</span></div><div class="brief "><p class="paragraph">Copy the current configuration.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>isAutoRemeasureText</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android/PanguTextConfig/isAutoRemeasureText/#/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android</a><span class="delimiter">/</span><a href="index.html">PanguTextConfig</a><span class="delimiter">/</span><span class="current">isAutoRemeasureText</span></div>
<div class="cover ">
<h1 class="cover"><span>is</span><wbr></wbr><span>Auto</span><wbr></wbr><span>Remeasure</span><wbr></wbr><span><span>Text</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">var </span><a href="is-auto-remeasure-text.html">isAutoRemeasureText</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div><p class="paragraph">Whether to automatically re-measure the text width after processing.</p><ul><li><p class="paragraph">Note: <a href="../-pangu-text/index.html">PanguText</a> after injecting text and changing the text, the width of <a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a> will not be calculated automatically. At this time, this feature will call <a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html#settext">TextView.setText</a> to re-execute the measurements, which can fix every time in some dynamic layouts (such as <code class="lang-kotlin">RecyclerView</code>) changes in text width, but may cause performance issues, you can choose to disable this feature. To prevent unnecessary performance overhead, this feature only takes effect on <a href="https://developer.android.com/reference/kotlin/android/widget/TextView.html">TextView</a> with <code class="lang-kotlin">maxLines</code> set to 1 or <code class="lang-kotlin">singleLine</code>.</p></li></ul></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>isEnabled</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android/PanguTextConfig/isEnabled/#/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android</a><span class="delimiter">/</span><a href="index.html">PanguTextConfig</a><span class="delimiter">/</span><span class="current">isEnabled</span></div>
<div class="cover ">
<h1 class="cover"><span>is</span><wbr></wbr><span><span>Enabled</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">var </span><a href="is-enabled.html">isEnabled</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div><p class="paragraph">Enable the <a href="../-pangu-text/index.html">PanguText</a>.</p><p class="paragraph">This is a global switch that can be used to enable or disable the <a href="../-pangu-text/index.html">PanguText</a> processor.</p></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>isProcessedSpanned</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android/PanguTextConfig/isProcessedSpanned/#/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android</a><span class="delimiter">/</span><a href="index.html">PanguTextConfig</a><span class="delimiter">/</span><span class="current">isProcessedSpanned</span></div>
<div class="cover ">
<h1 class="cover"><span>is</span><wbr></wbr><span>Processed</span><wbr></wbr><span><span>Spanned</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">var </span><a href="is-processed-spanned.html">isProcessedSpanned</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div><p class="paragraph">Processed <a href="https://developer.android.com/reference/kotlin/android/text/Spanned.html">Spanned</a> text (experimental).</p><ul><li><p class="paragraph">Note: This feature is in experimental stage and may not be fully supported, if the text is not processed correctly, please disable this feature.</p></li></ul></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>globalConfig</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="member" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android/PanguText/globalConfig/#/PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android</a><span class="delimiter">/</span><a href="index.html">PanguText</a><span class="delimiter">/</span><span class="current">globalConfig</span></div>
<div class="cover ">
<h1 class="cover"><span>global</span><wbr></wbr><span><span>Config</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">val </span><a href="global-config.html">globalConfig</a><span class="token operator">: </span><a href="../-pangu-text-config/index.html">PanguTextConfig</a></div><p class="paragraph">The global configuration of <a href="index.html">PanguText</a>.</p></div></div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,123 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>PanguText</title>
<link href="../../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../../styles/style.css" rel="Stylesheet">
<link href="../../../styles/main.css" rel="Stylesheet">
<link href="../../../styles/prism.css" rel="Stylesheet">
<link href="../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="classlike" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android/PanguText///PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../../index.html">pangutext-android</a><span class="delimiter">/</span><a href="../index.html">com.highcapable.pangutext.android</a><span class="delimiter">/</span><span class="current">PanguText</span></div>
<div class="cover ">
<h1 class="cover"><span>Pangu</span><wbr></wbr><span><span>Text</span></span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">object </span><a href="index.html">PanguText</a></div><p class="paragraph">The library core of Pangu text processor.</p><p class="paragraph">Bigger thanks for <a href="https://github.com/vinta/pangu.java">this</a> project.</p><h4 class="">See also</h4><div class="table"><div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><span data-unresolved-link="com.highcapable.pangutext.android.core/PanguPatterns///PointingToDeclaration/"><span>Pangu</span><wbr></wbr><span><span>Patterns</span></span></span></div></span></div><div></div></div></div></div></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
<div class="tabs-section-body">
<div data-togglable="PROPERTY">
<h2 class="">Properties</h2>
<div class="table"><a data-name="-713069606%2FProperties%2F1826300346" anchor-label="globalConfig" id="-713069606%2FProperties%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="global-config.html"><span>global</span><wbr></wbr><span><span>Config</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-713069606%2FProperties%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">val </span><a href="global-config.html">globalConfig</a><span class="token operator">: </span><a href="../-pangu-text-config/index.html">PanguTextConfig</a></div><div class="brief "><p class="paragraph">The global configuration of <a href="index.html">PanguText</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-togglable="FUNCTION">
<h2 class="">Functions</h2>
<div class="table"><a data-name="-2058434944%2FFunctions%2F1826300346" anchor-label="format" id="-2058434944%2FFunctions%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="format.html"><span><span>format</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-2058434944%2FFunctions%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-static/index.html"><span class="token annotation builtin">JvmStatic</span></a></div></div><span class="token keyword">fun </span><a href="format.html"><span class="token function">format</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token punctuation">, </span></span><span class="parameter ">whiteSpace<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char/index.html">Char</a><span class="token operator"> = </span>''<span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>globalConfig</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a></div><div class="brief "><p class="paragraph">Use <a href="index.html">PanguText</a> to format the current text content.</p></div><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-overloads/index.html"><span class="token annotation builtin">JvmOverloads</span></a></div><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin.jvm/-jvm-static/index.html"><span class="token annotation builtin">JvmStatic</span></a></div></div><span class="token keyword">fun </span><a href="format.html"><span class="token function">format</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">resources<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/content/res/Resources.html">Resources</a><span class="token punctuation">, </span></span><span class="parameter "><span><span class="token annotation builtin">@</span><a href="https://developer.android.com/reference/kotlin/androidx/annotation/Px.html"><span class="token annotation builtin">Px</span></a> </span>textSize<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-float/index.html">Float</a><span class="token punctuation">, </span></span><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a><span class="token punctuation">, </span></span><span class="parameter ">config<span class="token operator">: </span><a href="../-pangu-text-config/index.html">PanguTextConfig</a><span class="token operator"> = </span>globalConfig</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-char-sequence/index.html">CharSequence</a></div><div class="brief "><p class="paragraph">Use <a href="index.html">PanguText</a> to format specified text.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,118 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>com.highcapable.pangutext.android</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js","js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if(savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/clipboard.js" async="async"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script>
</head>
<body>
<div class="root">
<nav class="navigation" id="navigation-wrapper">
<div class="navigation--inner">
<div class="navigation-title">
<button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
<div class="library-name">
<a class="library-name--link" href="../../index.html">
pangutext-android
</a>
</div>
<div class="library-version">
1.0.4 </div>
</div>
<div class="filter-section" id="filter-section">
<button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":pangutext-android:dokkaHtml/release">androidJvm</button>
</div>
</div>
<div class="navigation-controls">
<button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
<div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
</div>
</nav>
<div id="container">
<div class="sidebar" id="leftColumn">
<div class="sidebar--inner" id="sideMenu"></div>
</div>
<div id="main">
<div class="main-content" data-page-type="package" id="content" pageIds="pangutext-android::com.highcapable.pangutext.android////PointingToDeclaration//1826300346">
<div class="breadcrumbs"><a href="../../index.html">pangutext-android</a><span class="delimiter">/</span><span class="current">com.highcapable.pangutext.android</span></div>
<div class="cover ">
<h1 class="cover"><span><span>Package-level</span></span> <span><span>declarations</span></span></h1>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="TYPE">Types</button></div>
<div class="tabs-section-body">
<div data-togglable="TYPE">
<h2 class="">Types</h2>
<div class="table"><a data-name="-1496870272%2FClasslikes%2F1826300346" anchor-label="PanguText" id="-1496870272%2FClasslikes%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="-pangu-text/index.html"><span>Pangu</span><wbr></wbr><span><span>Text</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1496870272%2FClasslikes%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">object </span><a href="-pangu-text/index.html">PanguText</a></div><div class="brief "><p class="paragraph">The library core of Pangu text processor.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-837870050%2FClasslikes%2F1826300346" anchor-label="PanguTextConfig" id="-837870050%2FClasslikes%2F1826300346" data-filterable-set=":pangutext-android:dokkaHtml/release"></a>
<div class="table-row" data-filterable-current=":pangutext-android:dokkaHtml/release" data-filterable-set=":pangutext-android:dokkaHtml/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="-pangu-text-config/index.html"><span>Pangu</span><wbr></wbr><span>Text</span><wbr></wbr><span><span>Config</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-837870050%2FClasslikes%2F1826300346"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":pangutext-android:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword">class </span><a href="-pangu-text-config/index.html">PanguTextConfig</a> : <a href="https://developer.android.com/reference/kotlin/java/io/Serializable.html">Serializable</a></div><div class="brief "><p class="paragraph">The <a href="-pangu-text/index.html">PanguText</a> configuration.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>PanguText | Apache-2.0 License | Copyright (C) 2019 HighCapable</span><span
class="pull-right"><span>Generated by </span><a
href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,41 @@
$dokka.format:html-v1
$dokka.linkExtension:html
$dokka.location:com.highcapable.pangutext.android.core////PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.core/index.html
$dokka.location:com.highcapable.pangutext.android.core/PanguTextView///PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.core/-pangu-text-view/index.html
$dokka.location:com.highcapable.pangutext.android.core/PanguTextView/configurePanguText/#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.core/-pangu-text-view/configure-pangu-text.html
$dokka.location:com.highcapable.pangutext.android.core/PanguTextWatcher///PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.core/-pangu-text-watcher/index.html
$dokka.location:com.highcapable.pangutext.android.core/PanguTextWatcher/afterTextChanged/#android.text.Editable?/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.core/-pangu-text-watcher/after-text-changed.html
$dokka.location:com.highcapable.pangutext.android.core/PanguTextWatcher/beforeTextChanged/#kotlin.CharSequence?#kotlin.Int#kotlin.Int#kotlin.Int/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.core/-pangu-text-watcher/before-text-changed.html
$dokka.location:com.highcapable.pangutext.android.core/PanguTextWatcher/onTextChanged/#kotlin.CharSequence?#kotlin.Int#kotlin.Int#kotlin.Int/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.core/-pangu-text-watcher/on-text-changed.html
$dokka.location:com.highcapable.pangutext.android.extension////PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.extension/index.html
$dokka.location:com.highcapable.pangutext.android.extension//PanguTextConfig/#kotlin.Boolean#kotlin.Function1[com.highcapable.pangutext.android.PanguTextConfig,kotlin.Unit]/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.extension/-pangu-text-config.html
$dokka.location:com.highcapable.pangutext.android.extension//injectPanguText/android.widget.TextView#kotlin.Boolean#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.extension/inject-pangu-text.html
$dokka.location:com.highcapable.pangutext.android.extension//injectRealTimePanguText/android.widget.TextView#kotlin.Boolean#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.extension/inject-real-time-pangu-text.html
$dokka.location:com.highcapable.pangutext.android.extension//setHintWithPangu/android.widget.TextView#kotlin.CharSequence?#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.extension/set-hint-with-pangu.html
$dokka.location:com.highcapable.pangutext.android.extension//setTextWithPangu/android.widget.TextView#kotlin.CharSequence?#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.extension/set-text-with-pangu.html
$dokka.location:com.highcapable.pangutext.android.factory////PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.factory/index.html
$dokka.location:com.highcapable.pangutext.android.factory/PanguTextFactory2.Companion///PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-factory2/-companion/index.html
$dokka.location:com.highcapable.pangutext.android.factory/PanguTextFactory2.Companion/inject/#android.content.Context/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-factory2/-companion/inject.html
$dokka.location:com.highcapable.pangutext.android.factory/PanguTextFactory2.Companion/inject/#android.view.LayoutInflater/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-factory2/-companion/inject.html
$dokka.location:com.highcapable.pangutext.android.factory/PanguTextFactory2///PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-factory2/index.html
$dokka.location:com.highcapable.pangutext.android.factory/PanguTextFactory2/onCreateView/#android.view.View?#kotlin.String#android.content.Context#android.util.AttributeSet/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-factory2/on-create-view.html
$dokka.location:com.highcapable.pangutext.android.factory/PanguTextFactory2/onCreateView/#kotlin.String#android.content.Context#android.util.AttributeSet/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-factory2/on-create-view.html
$dokka.location:com.highcapable.pangutext.android.factory/PanguTextPatcher///PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-patcher/index.html
$dokka.location:com.highcapable.pangutext.android.factory/PanguTextPatcher/patch/#android.view.View#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android.factory/-pangu-text-patcher/patch.html
$dokka.location:com.highcapable.pangutext.android////PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/index.html
$dokka.location:com.highcapable.pangutext.android/PanguText///PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text/index.html
$dokka.location:com.highcapable.pangutext.android/PanguText/format/#android.content.res.Resources#kotlin.Float#kotlin.CharSequence#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text/format.html
$dokka.location:com.highcapable.pangutext.android/PanguText/format/#kotlin.CharSequence#kotlin.Char#com.highcapable.pangutext.android.PanguTextConfig/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text/format.html
$dokka.location:com.highcapable.pangutext.android/PanguText/globalConfig/#/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text/global-config.html
$dokka.location:com.highcapable.pangutext.android/PanguTextConfig///PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text-config/index.html
$dokka.location:com.highcapable.pangutext.android/PanguTextConfig/cjkSpacingRatio/#/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text-config/cjk-spacing-ratio.html
$dokka.location:com.highcapable.pangutext.android/PanguTextConfig/copy/#kotlin.Function1[com.highcapable.pangutext.android.PanguTextConfig,kotlin.Unit]/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text-config/copy.html
$dokka.location:com.highcapable.pangutext.android/PanguTextConfig/excludePatterns/#/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text-config/exclude-patterns.html
$dokka.location:com.highcapable.pangutext.android/PanguTextConfig/isAutoRemeasureText/#/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text-config/is-auto-remeasure-text.html
$dokka.location:com.highcapable.pangutext.android/PanguTextConfig/isEnabled/#/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text-config/is-enabled.html
$dokka.location:com.highcapable.pangutext.android/PanguTextConfig/isProcessedSpanned/#/PointingToDeclaration/pangutext-android/com.highcapable.pangutext.android/-pangu-text-config/is-processed-spanned.html
com.highcapable.pangutext.android
com.highcapable.pangutext.android.core
com.highcapable.pangutext.android.extension
com.highcapable.pangutext.android.factory

View File

@@ -0,0 +1,56 @@
/*
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
window.addEventListener('load', () => {
document.querySelectorAll('span.copy-icon').forEach(element => {
element.addEventListener('click', (el) => copyElementsContentToClipboard(element));
})
document.querySelectorAll('span.anchor-icon').forEach(element => {
element.addEventListener('click', (el) => {
if(element.hasAttribute('pointing-to')){
const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to')
copyTextToClipboard(element, location)
}
});
})
})
const copyElementsContentToClipboard = (element) => {
const selection = window.getSelection();
const range = document.createRange();
range.selectNodeContents(element.parentNode.parentNode);
selection.removeAllRanges();
selection.addRange(range);
copyAndShowPopup(element, () => selection.removeAllRanges())
}
const copyTextToClipboard = (element, text) => {
var textarea = document.createElement("textarea");
textarea.textContent = text;
textarea.style.position = "fixed";
document.body.appendChild(textarea);
textarea.select();
copyAndShowPopup(element, () => document.body.removeChild(textarea))
}
const copyAndShowPopup = (element, after) => {
try {
document.execCommand('copy');
element.nextElementSibling.classList.add('active-popup');
setTimeout(() => {
element.nextElementSibling.classList.remove('active-popup');
}, 1200);
} catch (e) {
console.error('Failed to write to clipboard:', e)
}
finally {
if(after) after()
}
}
const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0]

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,95 @@
/*
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
navigationPageText = fetch(pathToRoot + "navigation.html").then(response => response.text())
displayNavigationFromPage = () => {
navigationPageText.then(data => {
document.getElementById("sideMenu").innerHTML = data;
}).then(() => {
document.querySelectorAll(".overview > a").forEach(link => {
link.setAttribute("href", pathToRoot + link.getAttribute("href"));
})
}).then(() => {
document.querySelectorAll(".sideMenuPart").forEach(nav => {
if (!nav.classList.contains("hidden"))
nav.classList.add("hidden")
})
}).then(() => {
revealNavigationForCurrentPage()
}).then(() => {
scrollNavigationToSelectedElement()
})
document.querySelectorAll('.footer a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
document.querySelector(this.getAttribute('href')).scrollIntoView({
behavior: 'smooth'
});
});
});
}
revealNavigationForCurrentPage = () => {
let pageId = document.getElementById("content").attributes["pageIds"].value.toString();
let parts = document.querySelectorAll(".sideMenuPart");
let found = 0;
do {
parts.forEach(part => {
if (part.attributes['pageId'].value.indexOf(pageId) !== -1 && found === 0) {
found = 1;
if (part.classList.contains("hidden")) {
part.classList.remove("hidden");
part.setAttribute('data-active', "");
}
revealParents(part)
}
});
pageId = pageId.substring(0, pageId.lastIndexOf("/"))
} while (pageId.indexOf("/") !== -1 && found === 0)
};
revealParents = (part) => {
if (part.classList.contains("sideMenuPart")) {
if (part.classList.contains("hidden"))
part.classList.remove("hidden");
revealParents(part.parentNode)
}
};
scrollNavigationToSelectedElement = () => {
let selectedElement = document.querySelector('div.sideMenuPart[data-active]')
if (selectedElement == null) { // nothing selected, probably just the main page opened
return
}
let hasIcon = selectedElement.querySelectorAll(":scope > div.overview span.nav-icon").length > 0
// for instance enums also have children and are expandable, but are not package/module elements
let isPackageElement = selectedElement.children.length > 1 && !hasIcon
if (isPackageElement) {
// if package is selected or linked, it makes sense to align it to top
// so that you can see all the members it contains
selectedElement.scrollIntoView(true)
} else {
// if a member within a package is linked, it makes sense to center it since it,
// this should make it easier to look at surrounding members
selectedElement.scrollIntoView({
behavior: 'auto',
block: 'center',
inline: 'center'
})
}
}
/*
This is a work-around for safari being IE of our times.
It doesn't fire a DOMContentLoaded, presumabely because eventListener is added after it wants to do it
*/
if (document.readyState == 'loading') {
window.addEventListener('DOMContentLoaded', () => {
displayNavigationFromPage()
})
} else {
displayNavigationFromPage()
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,400 @@
/*
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
filteringContext = {
dependencies: {},
restrictedDependencies: [],
activeFilters: []
}
let highlightedAnchor;
let topNavbarOffset;
let instances = [];
let sourcesetNotification;
const samplesDarkThemeName = 'darcula'
const samplesLightThemeName = 'idea'
window.addEventListener('load', () => {
document.querySelectorAll("div[data-platform-hinted]")
.forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem)))
const filterSection = document.getElementById('filter-section')
if (filterSection) {
filterSection.addEventListener('click', (event) => filterButtonHandler(event))
initializeFiltering()
}
initTabs()
handleAnchor()
initHidingLeftNavigation()
topNavbarOffset = document.getElementById('navigation-wrapper')
darkModeSwitch()
})
const darkModeSwitch = () => {
const localStorageKey = "dokka-dark-mode"
const storage = localStorage.getItem(localStorageKey)
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred
const element = document.getElementById("theme-toggle-button")
initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName)
element.addEventListener('click', () => {
const enabledClasses = document.getElementsByTagName("html")[0].classList
enabledClasses.toggle("theme-dark")
//if previously we had saved dark theme then we set it to light as this is what we save in local storage
const darkModeEnabled = enabledClasses.contains("theme-dark")
if (darkModeEnabled) {
initPlayground(samplesDarkThemeName)
} else {
initPlayground(samplesLightThemeName)
}
localStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled))
})
}
const initPlayground = (theme) => {
if (!samplesAreEnabled()) return
instances.forEach(instance => instance.destroy())
instances = []
// Manually tag code fragments as not processed by playground since we also manually destroy all of its instances
document.querySelectorAll('code.runnablesample').forEach(node => {
node.removeAttribute("data-kotlin-playground-initialized");
})
KotlinPlayground('code.runnablesample', {
getInstance: playgroundInstance => {
instances.push(playgroundInstance)
},
theme: theme
});
}
// We check if type is accessible from the current scope to determine if samples script is present
// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal
const samplesAreEnabled = () => {
try {
KotlinPlayground
return true
} catch (e) {
return false
}
}
const initHidingLeftNavigation = () => {
document.getElementById("menu-toggle").onclick = function (event) {
//Events need to be prevented from bubbling since they will trigger next handler
event.preventDefault();
event.stopPropagation();
event.stopImmediatePropagation();
document.getElementById("leftColumn").classList.toggle("open");
}
document.getElementById("main").onclick = () => {
document.getElementById("leftColumn").classList.remove("open");
}
}
// Hash change is needed in order to allow for linking inside the same page with anchors
// If this is not present user is forced to refresh the site in order to use an anchor
window.onhashchange = handleAnchor
function scrollToElementInContent(element) {
const scrollToElement = () => document.getElementById('main').scrollTo({
top: element.offsetTop - topNavbarOffset.offsetHeight,
behavior: "smooth"
})
const waitAndScroll = () => {
setTimeout(() => {
if (topNavbarOffset) {
scrollToElement()
} else {
waitForScroll()
}
}, 50)
}
if (topNavbarOffset) {
scrollToElement()
} else {
waitAndScroll()
}
}
function handleAnchor() {
if (highlightedAnchor) {
highlightedAnchor.classList.remove('anchor-highlight')
highlightedAnchor = null;
}
let searchForContentTarget = function (element) {
if (element && element.hasAttribute) {
if (element.hasAttribute("data-togglable")) return element.getAttribute("data-togglable");
else return searchForContentTarget(element.parentNode)
} else return null
}
let findAnyTab = function (target) {
let result = null
document.querySelectorAll('div[tabs-section] > button[data-togglable]')
.forEach(node => {
if(node.getAttribute("data-togglable").split(",").includes(target)) {
result = node
}
})
return result
}
let anchor = window.location.hash
if (anchor != "") {
anchor = anchor.substring(1)
let element = document.querySelector('a[data-name="' + anchor + '"]')
if (element) {
const content = element.nextElementSibling
const contentStyle = window.getComputedStyle(content)
if(contentStyle.display == 'none') {
let tab = findAnyTab(searchForContentTarget(content))
if (tab) {
toggleSections(tab)
}
}
if (content) {
content.classList.add('anchor-highlight')
highlightedAnchor = content
}
scrollToElementInContent(element)
}
}
}
function initTabs() {
// we could have only a single type of data - classlike or package
const mainContent = document.querySelector('.main-content');
const type = mainContent ? mainContent.getAttribute("data-page-type") : null;
const localStorageKey = "active-tab-" + type;
document.querySelectorAll('div[tabs-section]').forEach(element => {
showCorrespondingTabBody(element);
element.addEventListener('click', ({target}) => {
const togglable = target ? target.getAttribute("data-togglable") : null;
if (!togglable) return;
localStorage.setItem(localStorageKey, JSON.stringify(togglable));
toggleSections(target);
});
});
const cached = localStorage.getItem(localStorageKey);
if (!cached) return;
const tab = document.querySelector(
'div[tabs-section] > button[data-togglable="' + JSON.parse(cached) + '"]'
);
if (!tab) return;
toggleSections(tab);
}
function showCorrespondingTabBody(element) {
const buttonWithKey = element.querySelector("button[data-active]")
if (buttonWithKey) {
toggleSections(buttonWithKey)
}
}
function filterButtonHandler(event) {
if (event.target.tagName == "BUTTON" && event.target.hasAttribute("data-filter")) {
let sourceset = event.target.getAttribute("data-filter")
if (filteringContext.activeFilters.indexOf(sourceset) != -1) {
filterSourceset(sourceset)
} else {
unfilterSourceset(sourceset)
}
}
}
function initializeFiltering() {
filteringContext.dependencies = JSON.parse(sourceset_dependencies)
document.querySelectorAll("#filter-section > button")
.forEach(p => filteringContext.restrictedDependencies.push(p.getAttribute("data-filter")))
Object.keys(filteringContext.dependencies).forEach(p => {
filteringContext.dependencies[p] = filteringContext.dependencies[p]
.filter(q => -1 !== filteringContext.restrictedDependencies.indexOf(q))
})
let cached = window.localStorage.getItem('inactive-filters')
if (cached) {
let parsed = JSON.parse(cached)
filteringContext.activeFilters = filteringContext.restrictedDependencies
.filter(q => parsed.indexOf(q) == -1)
} else {
filteringContext.activeFilters = filteringContext.restrictedDependencies
}
refreshFiltering()
}
function filterSourceset(sourceset) {
filteringContext.activeFilters = filteringContext.activeFilters.filter(p => p != sourceset)
refreshFiltering()
addSourcesetFilterToCache(sourceset)
}
function unfilterSourceset(sourceset) {
if (filteringContext.activeFilters.length == 0) {
filteringContext.activeFilters = filteringContext.dependencies[sourceset].concat([sourceset])
refreshFiltering()
filteringContext.dependencies[sourceset].concat([sourceset]).forEach(p => removeSourcesetFilterFromCache(p))
} else {
filteringContext.activeFilters.push(sourceset)
refreshFiltering()
removeSourcesetFilterFromCache(sourceset)
}
}
function addSourcesetFilterToCache(sourceset) {
let cached = localStorage.getItem('inactive-filters')
if (cached) {
let parsed = JSON.parse(cached)
localStorage.setItem('inactive-filters', JSON.stringify(parsed.concat([sourceset])))
} else {
localStorage.setItem('inactive-filters', JSON.stringify([sourceset]))
}
}
function removeSourcesetFilterFromCache(sourceset) {
let cached = localStorage.getItem('inactive-filters')
if (cached) {
let parsed = JSON.parse(cached)
localStorage.setItem('inactive-filters', JSON.stringify(parsed.filter(p => p != sourceset)))
}
}
function toggleSections(target) {
const activateTabs = (containerClass) => {
for (const element of document.getElementsByClassName(containerClass)) {
for (const child of element.children) {
if (child.getAttribute("data-togglable") === target.getAttribute("data-togglable")) {
child.setAttribute("data-active", "")
} else {
child.removeAttribute("data-active")
}
}
}
}
const toggleTargets = target.getAttribute("data-togglable").split(",")
const activateTabsBody = (containerClass) => {
document.querySelectorAll("." + containerClass + " *[data-togglable]")
.forEach(child => {
if (toggleTargets.includes(child.getAttribute("data-togglable"))) {
child.setAttribute("data-active", "")
} else if(!child.classList.contains("sourceset-dependent-content")) { // data-togglable is used to switch source set as well, ignore it
child.removeAttribute("data-active")
}
})
}
activateTabs("tabs-section")
activateTabsBody("tabs-section-body")
}
function togglePlatformDependent(e, container) {
let target = e.target
if (target.tagName != 'BUTTON') return;
let index = target.getAttribute('data-toggle')
for (let child of container.children) {
if (child.hasAttribute('data-toggle-list')) {
for (let bm of child.children) {
if (bm == target) {
bm.setAttribute('data-active', "")
} else if (bm != target) {
bm.removeAttribute('data-active')
}
}
} else if (child.getAttribute('data-togglable') == index) {
child.setAttribute('data-active', "")
} else {
child.removeAttribute('data-active')
}
}
}
function refreshFiltering() {
let sourcesetList = filteringContext.activeFilters
document.querySelectorAll("[data-filterable-set]")
.forEach(
elem => {
let platformList = elem.getAttribute("data-filterable-set").split(',').filter(v => -1 !== sourcesetList.indexOf(v))
elem.setAttribute("data-filterable-current", platformList.join(','))
}
)
refreshFilterButtons()
refreshPlatformTabs()
refreshNoContentNotification()
refreshPlaygroundSamples()
}
function refreshPlaygroundSamples() {
document.querySelectorAll('code.runnablesample').forEach(node => {
const playground = node.KotlinPlayground;
/* Some samples may be hidden by filter, they have 0px height for visible code area
* after rendering. Call this method for re-calculate code area height */
playground && playground.view.codemirror.refresh();
});
}
function refreshNoContentNotification() {
const element = document.getElementsByClassName("main-content")[0]
if(filteringContext.activeFilters.length === 0){
element.style.display = "none";
const appended = document.createElement("div")
appended.className = "filtered-message"
appended.innerText = "All documentation is filtered, please adjust your source set filters in top-right corner of the screen"
sourcesetNotification = appended
element.parentNode.prepend(appended)
} else {
if(sourcesetNotification) sourcesetNotification.remove()
element.style.display = "block"
}
}
function refreshPlatformTabs() {
document.querySelectorAll(".platform-hinted > .platform-bookmarks-row").forEach(
p => {
let active = false;
let firstAvailable = null
p.childNodes.forEach(
element => {
if (element.getAttribute("data-filterable-current") != '') {
if (firstAvailable == null) {
firstAvailable = element
}
if (element.hasAttribute("data-active")) {
active = true;
}
}
}
)
if (active == false && firstAvailable) {
firstAvailable.click()
}
}
)
}
function refreshFilterButtons() {
document.querySelectorAll("#filter-section > button")
.forEach(f => {
if (filteringContext.activeFilters.indexOf(f.getAttribute("data-filter")) != -1) {
f.setAttribute("data-active", "")
} else {
f.removeAttribute("data-active")
}
})
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
sourceset_dependencies='{":pangutext-android:dokkaHtml/debug":[],":pangutext-android:dokkaHtml/main":[],":pangutext-android:dokkaHtml/release":[]}'

View File

@@ -0,0 +1,64 @@
/*
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
// helps with some corner cases where <wbr> starts working already,
// but the signature is not yet long enough to be wrapped
(function() {
const leftPaddingPx = 60;
function createNbspIndent() {
let indent = document.createElement("span");
indent.append(document.createTextNode("\u00A0\u00A0\u00A0\u00A0"));
indent.classList.add("nbsp-indent");
return indent;
}
function wrapSymbolParameters(entry) {
const symbol = entry.target;
const symbolBlockWidth = entry.borderBoxSize && entry.borderBoxSize[0] && entry.borderBoxSize[0].inlineSize;
// Even though the script is marked as `defer` and we wait for `DOMContentLoaded` event,
// or if this block is a part of hidden tab, it can happen that `symbolBlockWidth` is 0,
// indicating that something hasn't been loaded.
// In this case, observer will be triggered onсe again when it will be ready.
if (symbolBlockWidth > 0) {
const node = symbol.querySelector(".parameters");
if (node) {
// if window resize happened and observer was triggered, reset previously wrapped
// parameters as they might not need wrapping anymore, and check again
node.classList.remove("wrapped");
node.querySelectorAll(".parameter .nbsp-indent")
.forEach(indent => indent.remove());
const innerTextWidth = Array.from(symbol.children)
.filter(it => !it.classList.contains("block")) // blocks are usually on their own (like annotations), so ignore it
.map(it => it.getBoundingClientRect().width)
.reduce((a, b) => a + b, 0);
// if signature text takes up more than a single line, wrap params for readability
if (innerTextWidth > (symbolBlockWidth - leftPaddingPx)) {
node.classList.add("wrapped");
node.querySelectorAll(".parameter").forEach(param => {
// has to be a physical indent so that it can be copied. styles like
// paddings and `::before { content: " " }` do not work for that
param.prepend(createNbspIndent());
});
}
}
}
}
const symbolsObserver = new ResizeObserver(entries => entries.forEach(wrapSymbolParameters));
function initHandlers() {
document.querySelectorAll("div.symbol").forEach(symbol => symbolsObserver.observe(symbol));
}
if (document.readyState === 'loading') window.addEventListener('DOMContentLoaded', initHandlers);
else initHandlers();
// ToDo: Add `unobserve` if dokka will be SPA-like:
// https://github.com/w3c/csswg-drafts/issues/5155
})();

View File

@@ -0,0 +1,36 @@
/*
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
/* Light weight */
@font-face {
font-family: 'JetBrains Sans';
src: url('https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff2') format('woff2'), url('https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff') format('woff');
font-weight: 300;
font-style: normal;
}
/* Regular weight */
@font-face {
font-family: 'JetBrains Sans';
src: url('https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff2') format('woff2'), url('https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff') format('woff');
font-weight: 400;
font-style: normal;
}
/* SemiBold weight */
@font-face {
font-family: 'JetBrains Sans';
src: url('https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff2') format('woff2'), url('https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff') format('woff');
font-weight: 600;
font-style: normal;
}
@supports (font-variation-settings: normal) {
@font-face {
font-family: 'JetBrains Sans';
src: url('https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans.woff2') format('woff2 supports variations'),
url('https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans.woff2') format('woff2-variations'),
url('https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans.woff') format('woff-variations');
font-weight: 100 900;
font-style: normal;
}
}

View File

@@ -0,0 +1,9 @@
/*
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
:root {
--dokka-logo-image-url: url('../images/logo-icon.svg');
--dokka-logo-height: 50px;
--dokka-logo-width: 50px;
}

View File

@@ -0,0 +1,124 @@
/*!
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/#pages-search{cursor:pointer;border:none;border-radius:50%;background:transparent;fill:#fff;fill:var(--dark-mode-and-search-icon-color)}#pages-search:hover{background:var(--white-10)}.search,.search [data-test=ring-select],.search [data-test=ring-tooltip],.search [data-test=ring-select_focus],.search #pages-search{display:inline-block;padding:0;margin:0;font-size:0;line-height:0}.search-hotkey-popup{background-color:var(--background-color) !important;padding:4px}.popup-wrapper{min-width:calc(100% - 322px) !important;border:1px solid rgba(255,255,255,.2) !important;background-color:#27282c !important;color:rgba(255,255,255,.8)}.popup-wrapper [class^=filterWrapper]{border-bottom:1px solid rgba(255,255,255,.2)}.popup-wrapper input{color:rgba(255,255,255,.8) !important;font-weight:normal !important}.popup-wrapper span[data-test-custom=ring-select-popup-filter-icon]{color:#fff}.popup-wrapper button[data-test=ring-input-clear]{color:#fff !important}@media screen and (max-width: 759px){.popup-wrapper{min-width:100% !important}}.template-wrapper{display:grid;height:32px;grid-template-columns:auto auto}.template-wrapper strong{color:rgba(255,255,255,.8)}.template-wrapper span{color:rgba(255,255,255,.8);line-height:32px}.template-wrapper span.template-description{color:rgba(255,255,255,.6);justify-self:end}@media screen and (max-width: 759px){.template-wrapper{display:flex;flex-direction:column;height:auto}.template-wrapper span{line-height:unset}}.template-name{justify-self:start}[class^=fade]{display:none}[class*=hover]{background-color:rgba(255,255,255,.1) !important}
/* stylelint-disable color-no-hex */
:root {
--ring-unit: 8px;
/* Element */
--ring-line-color: #dfe5eb;
--ring-dark-line-color: #475159;
--ring-borders-color: #b8d1e5;
--ring-dark-borders-color: #406380;
--ring-icon-color: var(--ring-borders-color);
--ring-icon-secondary-color: #999;
--ring-border-disabled-color: #dbdbdb;
--ring-icon-disabled-color: #bbb;
--ring-border-hover-color: #80c6ff;
--ring-dark-border-hover-color: #70b1e6;
--ring-icon-hover-color: var(--ring-link-hover-color);
--ring-main-color: #008eff;
--ring-main-hover-color: #007ee5;
--ring-icon-error-color: #db5860;
--ring-icon-warning-color: #eda200;
--ring-icon-success-color: #59a869;
--ring-pale-control-color: #cfdbe5;
--ring-popup-border-components: 0, 42, 76;
--ring-popup-border-color: rgba(var(--ring-popup-border-components), 0.1);
--ring-popup-shadow-color: rgba(var(--ring-popup-border-components), 0.15);
--ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);
--ring-pinned-shadow-color: #737577;
/* Text */
--ring-search-color: #669ecc;
--ring-hint-color: #406380;
--ring-link-color: #0f5b99;
--ring-link-hover-color: #ff008c;
--ring-error-color: #c22731;
--ring-warning-color: #cc8b00;
--ring-success-color: #1b8833;
--ring-text-color: #1f2326;
--ring-dark-text-color: #fff;
--ring-heading-color: var(--ring-text-color);
--ring-secondary-color: #737577;
--ring-dark-secondary-color: #888;
--ring-disabled-color: #999;
--ring-dark-disabled-color: #444;
--ring-dark-active-color: #ccc;
/* Background */
--ring-content-background-color: #fff;
--ring-popup-background-color: #fff;
--ring-sidebar-background-color: #f7f9fa;
--ring-selected-background-color: #d4edff;
--ring-hover-background-color: #ebf6ff;
--ring-dark-selected-background-color: #002a4d;
--ring-message-background-color: #111314;
--ring-navigation-background-color: #000;
--ring-tag-background-color: #e6ecf2;
--ring-removed-background-color: #ffd5cb;
--ring-warning-background-color: #faeccd;
--ring-added-background-color: #bce8bb;
/* Code */
--ring-code-background-color: var(--ring-content-background-color);
--ring-code-color: #000;
--ring-code-comment-color: #707070;
--ring-code-meta-color: #707070;
--ring-code-keyword-color: #000080;
--ring-code-tag-background-color: #efefef;
--ring-code-tag-color: var(--ring-code-keyword-color);
--ring-code-tag-font-weight: bold;
--ring-code-field-color: #660e7a;
--ring-code-attribute-color: #00f;
--ring-code-number-color: var(--ring-code-attribute-color);
--ring-code-string-color: #007a00;
--ring-code-addition-color: #aadeaa;
--ring-code-deletion-color: #c8c8c8;
/* Metrics */
--ring-border-radius: 3px;
--ring-border-radius-small: 2px;
--ring-font-size-larger: 14px;
--ring-font-size: 13px;
--ring-font-size-smaller: 12px;
--ring-line-height-taller: 21px;
--ring-line-height: 20px;
--ring-line-height-lower: 18px;
--ring-line-height-lowest: 16px;
--ring-ease: 0.3s ease-out;
--ring-fast-ease: 0.15s ease-out;
--ring-font-family: system-ui, Arial, sans-serif;
--ring-font-family-monospace:
Menlo,
"Bitstream Vera Sans Mono",
"Ubuntu Mono",
Consolas,
"Courier New",
Courier,
monospace;
/* Common z-index-values */
/* Invisible element is an absolutely positioned element which should be below */
/* all other elements on the page */
--ring-invisible-element-z-index: -1;
/* z-index for position: fixed elements */
--ring-fixed-z-index: 1;
/* Elements that should overlay all other elements on the page */
--ring-overlay-z-index: 5;
/* Alerts should de displayed above overlays */
--ring-alert-z-index: 6;
}
/*!
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*//*!
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/html,.app-root{height:100%}.search-root{margin:0;padding:0;background:var(--ring-content-background-color);font-family:var(--ring-font-family);font-size:var(--ring-font-size);line-height:var(--ring-line-height)}.search-content{z-index:8}
/*# sourceMappingURL=main.css.map*/

View File

@@ -0,0 +1,217 @@
/*
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
/*
* Custom Dokka styles
*/
code .token {
white-space: pre;
}
/**
* Styles based on webhelp's prism.js styles
* Changes:
* - Since webhelp's styles are in .pcss, they use nesting which is not achievable in native CSS
* so nested css blocks have been unrolled (like dark theme).
* - Webhelp uses "Custom Class" prism.js plugin, so all of their prism classes are prefixed with "--prism".
* Dokka doesn't seem to need this plugin at the moment, so all "--prism" prefixes have been removed.
* - Removed all styles related to `pre` and `code` tags. Kotlinlang's resulting styles are so spread out and complicated
* that it's difficult to gather in one place. Instead use code styles defined in the main Dokka styles,
* which at the moment looks fairly similar.
*
* Based on prism.js default theme
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: #8c8c8c;
}
.token.punctuation {
color: #999;
}
.token.namespace {
opacity: 0.7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #871094;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #067d17;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
/* This background color was intended by the author of this theme. */
background: hsla(0, 0%, 100%, 0.5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
font-size: inherit; /* to override .keyword */
color: #0033b3;
}
.token.function {
color: #00627a;
}
.token.class-name {
color: #000000;
}
.token.regex,
.token.important,
.token.variable {
color: #871094;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
.token.operator {
background: none;
}
/*
* DARK THEME
*/
:root.theme-dark .token.comment,
:root.theme-dark .token.prolog,
:root.theme-dark .token.cdata {
color: #808080;
}
:root.theme-dark .token.delimiter,
:root.theme-dark .token.boolean,
:root.theme-dark .token.keyword,
:root.theme-dark .token.selector,
:root.theme-dark .token.important,
:root.theme-dark .token.atrule {
color: #cc7832;
}
:root.theme-dark .token.operator,
:root.theme-dark .token.punctuation,
:root.theme-dark .token.attr-name {
color: #a9b7c6;
}
:root.theme-dark .token.tag,
:root.theme-dark .token.tag .punctuation,
:root.theme-dark .token.doctype,
:root.theme-dark .token.builtin {
color: #e8bf6a;
}
:root.theme-dark .token.entity,
:root.theme-dark .token.number,
:root.theme-dark .token.symbol {
color: #6897bb;
}
:root.theme-dark .token.property,
:root.theme-dark .token.constant,
:root.theme-dark .token.variable {
color: #9876aa;
}
:root.theme-dark .token.string,
:root.theme-dark .token.char {
color: #6a8759;
}
:root.theme-dark .token.attr-value,
:root.theme-dark .token.attr-value .punctuation {
color: #a5c261;
}
:root.theme-dark .token.attr-value .punctuation:first-child {
color: #a9b7c6;
}
:root.theme-dark .token.url {
text-decoration: underline;
color: #287bde;
background: transparent;
}
:root.theme-dark .token.function {
color: #ffc66d;
}
:root.theme-dark .token.regex {
background: #364135;
}
:root.theme-dark .token.deleted {
background: #484a4a;
}
:root.theme-dark .token.inserted {
background: #294436;
}
:root.theme-dark .token.class-name {
color: #a9b7c6;
}
:root.theme-dark .token.function {
color: #ffc66d;
}
:root.theme-darkcode .language-css .token.property,
:root.theme-darkcode .language-css,
:root.theme-dark .token.property + .token.punctuation {
color: #a9b7c6;
}
code.language-css .token.id {
color: #ffc66d;
}
:root.theme-dark code.language-css .token.selector > .token.class,
:root.theme-dark code.language-css .token.selector > .token.attribute,
:root.theme-dark code.language-css .token.selector > .token.pseudo-class,
:root.theme-dark code.language-css .token.selector > .token.pseudo-element {
color: #ffc66d;
}
:root.theme-dark .language-plaintext .token {
/* plaintext code should be colored as article text */
color: inherit !important;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{t as data};

View File

@@ -0,0 +1 @@
import{_ as e,o as c,c as t}from"./app-6WmjFGj_.js";const _={};function o(r,n){return c(),t("div")}const a=e(_,[["render",o],["__file","404.html.vue"]]);export{a as default};

View File

@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-7a15fe3b","path":"/en/about/about.html","title":"About This Document","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"License","slug":"license","link":"#license","children":[]}],"git":{"updatedTime":1744552535000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"en/about/about.md"}');export{e as data};

View File

@@ -0,0 +1,16 @@
import{_ as o,r as t,o as c,c as l,a,b as e,d as n,e as p}from"./app-6WmjFGj_.js";const r={},i=a("h1",{id:"关于此文档",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#关于此文档","aria-hidden":"true"},"#"),e(" 关于此文档")],-1),d={href:"https://v2.vuepress.vuejs.org/zh",target:"_blank",rel:"noopener noreferrer"},h=a("h2",{id:"许可证",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#许可证","aria-hidden":"true"},"#"),e(" 许可证")],-1),b={href:"https://github.com/BetterAndroid/PanguText/blob/main/LICENSE",target:"_blank",rel:"noopener noreferrer"},u=p(`<div class="language-text" data-ext="text"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#adbac7;">Apache License Version 2.0</span></span>
<span class="line"><span style="color:#adbac7;"></span></span>
<span class="line"><span style="color:#adbac7;">Copyright (C) 2019 HighCapable</span></span>
<span class="line"><span style="color:#adbac7;"></span></span>
<span class="line"><span style="color:#adbac7;">Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></span>
<span class="line"><span style="color:#adbac7;">you may not use this file except in compliance with the License.</span></span>
<span class="line"><span style="color:#adbac7;">You may obtain a copy of the License at</span></span>
<span class="line"><span style="color:#adbac7;"></span></span>
<span class="line"><span style="color:#adbac7;"> https://www.apache.org/licenses/LICENSE-2.0</span></span>
<span class="line"><span style="color:#adbac7;"></span></span>
<span class="line"><span style="color:#adbac7;">Unless required by applicable law or agreed to in writing, software</span></span>
<span class="line"><span style="color:#adbac7;">distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></span>
<span class="line"><span style="color:#adbac7;">WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></span>
<span class="line"><span style="color:#adbac7;">See the License for the specific language governing permissions and</span></span>
<span class="line"><span style="color:#adbac7;">limitations under the License.</span></span>
<span class="line"><span style="color:#adbac7;"></span></span></code></pre></div><p>版权所有 © 2019 HighCapable</p>`,2);function _(y,g){const s=t("ExternalLinkIcon");return c(),l("div",null,[i,a("blockquote",null,[a("p",null,[e("此文档由 "),a("a",d,[e("VuePress"),n(s)]),e(" 强力驱动。")])]),h,a("p",null,[a("a",b,[e("Apache-2.0"),n(s)])]),u])}const m=o(r,[["render",_],["__file","about.html.vue"]]);export{m as default};

View File

@@ -0,0 +1,16 @@
import{_ as t,r as o,o as c,c as l,a as e,b as a,d as n,e as p}from"./app-6WmjFGj_.js";const i={},r=e("h1",{id:"about-this-document",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#about-this-document","aria-hidden":"true"},"#"),a(" About This Document")],-1),d={href:"https://v2.vuepress.vuejs.org/en",target:"_blank",rel:"noopener noreferrer"},h=e("h2",{id:"license",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#license","aria-hidden":"true"},"#"),a(" License")],-1),u={href:"https://github.com/BetterAndroid/PanguText/blob/main/LICENSE",target:"_blank",rel:"noopener noreferrer"},b=p(`<div class="language-text" data-ext="text"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#adbac7;">Apache License Version 2.0</span></span>
<span class="line"><span style="color:#adbac7;"></span></span>
<span class="line"><span style="color:#adbac7;">Copyright (C) 2019 HighCapable</span></span>
<span class="line"><span style="color:#adbac7;"></span></span>
<span class="line"><span style="color:#adbac7;">Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></span>
<span class="line"><span style="color:#adbac7;">you may not use this file except in compliance with the License.</span></span>
<span class="line"><span style="color:#adbac7;">You may obtain a copy of the License at</span></span>
<span class="line"><span style="color:#adbac7;"></span></span>
<span class="line"><span style="color:#adbac7;"> https://www.apache.org/licenses/LICENSE-2.0</span></span>
<span class="line"><span style="color:#adbac7;"></span></span>
<span class="line"><span style="color:#adbac7;">Unless required by applicable law or agreed to in writing, software</span></span>
<span class="line"><span style="color:#adbac7;">distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></span>
<span class="line"><span style="color:#adbac7;">WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></span>
<span class="line"><span style="color:#adbac7;">See the License for the specific language governing permissions and</span></span>
<span class="line"><span style="color:#adbac7;">limitations under the License.</span></span>
<span class="line"><span style="color:#adbac7;"></span></span></code></pre></div><p>Copyright © 2019 HighCapable</p>`,2);function _(y,m){const s=o("ExternalLinkIcon");return c(),l("div",null,[r,e("blockquote",null,[e("p",null,[a("This document is powered by "),e("a",d,[a("VuePress"),n(s)]),a(".")])]),h,e("p",null,[e("a",u,[a("Apache-2.0"),n(s)])]),b])}const f=t(i,[["render",_],["__file","about.html.vue"]]);export{f as default};

View File

@@ -0,0 +1 @@
const t=JSON.parse('{"key":"v-41967128","path":"/zh-cn/about/about.html","title":"关于此文档","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"许可证","slug":"许可证","link":"#许可证","children":[]}],"git":{"updatedTime":1744552535000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"zh-cn/about/about.md"}');export{t as data};

View File

@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-cc15e9aa","path":"/en/library/android.html","title":"Android","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Configure Dependency","slug":"configure-dependency","link":"#configure-dependency","children":[{"level":3,"title":"SweetDependency (Recommended)","slug":"sweetdependency-recommended","link":"#sweetdependency-recommended","children":[]},{"level":3,"title":"Version Catalog","slug":"version-catalog","link":"#version-catalog","children":[]},{"level":3,"title":"Traditional Method","slug":"traditional-method","link":"#traditional-method","children":[]}]},{"level":2,"title":"Function Introduction","slug":"function-introduction","link":"#function-introduction","children":[{"level":3,"title":"Implementation Principle","slug":"implementation-principle","link":"#implementation-principle","children":[]},{"level":3,"title":"Integrate into Existing Projects","slug":"integrate-into-existing-projects","link":"#integrate-into-existing-projects","children":[]},{"level":3,"title":"Personalized Configuration","slug":"personalized-configuration","link":"#personalized-configuration","children":[]}]}],"git":{"updatedTime":1754158640000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":8}]},"filePathRelative":"en/library/android.md"}');export{e as data};

View File

@@ -0,0 +1,171 @@
import{_ as o,r as t,o as i,c as p,a as e,b as s,d as l,e as n}from"./app-6WmjFGj_.js";const c={},r=n(`<h1 id="android" tabindex="-1"><a class="header-anchor" href="#android" aria-hidden="true">#</a> Android</h1><p><img src="https://img.shields.io/maven-central/v/com.highcapable.pangutext/pangutext-android?logo=apachemaven&amp;logoColor=orange&amp;style=flat-square" alt="Maven Central"><span style="margin-left:5px;"></span><img src="https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fraw.githubusercontent.com%2FHighCapable%2Fmaven-repository%2Frefs%2Fheads%2Fmain%2Frepository%2Freleases%2Fcom%2Fhighcapable%2Fpangutext%2Fpangutext-android%2Fmaven-metadata.xml&amp;logo=apachemaven&amp;logoColor=orange&amp;label=highcapable-maven-releases&amp;style=flat-square" alt="Maven metadata URL"><span style="margin-left:5px;"></span><img src="https://img.shields.io/badge/Min SDK-21-orange?logo=android&amp;style=flat-square" alt="Android Min SDK"></p><p>This is the core dependency for the Android platform. When using <code>PanguText</code> on Android, you need to include this module.</p><h2 id="configure-dependency" tabindex="-1"><a class="header-anchor" href="#configure-dependency" aria-hidden="true">#</a> Configure Dependency</h2><p>You can add this module to your project using the following method.</p><h3 id="sweetdependency-recommended" tabindex="-1"><a class="header-anchor" href="#sweetdependency-recommended" aria-hidden="true">#</a> SweetDependency (Recommended)</h3><p>Add dependency in your project&#39;s <code>SweetDependency</code> configuration file.</p><div class="language-yaml line-numbers-mode" data-ext="yml"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#8DDB8C;">libraries</span><span style="color:#ADBAC7;">:</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#8DDB8C;">com.highcapable.pangutext</span><span style="color:#ADBAC7;">:</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#8DDB8C;">pangutext-android</span><span style="color:#ADBAC7;">:</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#8DDB8C;">version</span><span style="color:#ADBAC7;">: </span><span style="color:#96D0FF;">+</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></div><p>Configure dependency in your project&#39;s <code>build.gradle.kts</code>.</p><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;">implementation</span><span style="color:#ADBAC7;">(com.highcapable.pangutext.pangutext.android)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="version-catalog" tabindex="-1"><a class="header-anchor" href="#version-catalog" aria-hidden="true">#</a> Version Catalog</h3><p>Add dependency in your project&#39;s <code>gradle/libs.versions.toml</code>.</p><div class="language-toml line-numbers-mode" data-ext="toml"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">[</span><span style="color:#F69D50;">versions</span><span style="color:#ADBAC7;">]</span></span>
<span class="line"><span style="color:#ADBAC7;">pangutext-android = </span><span style="color:#96D0FF;">&quot;&lt;version&gt;&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;">[</span><span style="color:#F69D50;">libraries</span><span style="color:#ADBAC7;">]</span></span>
<span class="line"><span style="color:#ADBAC7;">pangutext-android = { module = </span><span style="color:#96D0FF;">&quot;com.highcapable.pangutext:pangutext-android&quot;</span><span style="color:#ADBAC7;">, version.ref = </span><span style="color:#96D0FF;">&quot;pangutext-android&quot;</span><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></div><p>Configure dependency in your project&#39;s <code>build.gradle.kts</code>.</p><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;">implementation</span><span style="color:#ADBAC7;">(libs.pangutext.android)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>Please change <code>&lt;version&gt;</code> to the version displayed at the top of this document.</p><h3 id="traditional-method" tabindex="-1"><a class="header-anchor" href="#traditional-method" aria-hidden="true">#</a> Traditional Method</h3><p>Configure dependency in your project&#39;s <code>build.gradle.kts</code>.</p><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;">implementation</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;com.highcapable.pangutext:pangutext-android:&lt;version&gt;&quot;</span><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></div><p>Please change <code>&lt;version&gt;</code> to the version displayed at the top of this document.</p><h2 id="function-introduction" tabindex="-1"><a class="header-anchor" href="#function-introduction" aria-hidden="true">#</a> Function Introduction</h2>`,21),d={href:"https://betterandroid.github.io/PanguText/KDoc/pangutext-android",target:"_blank",rel:"noopener noreferrer"},u=n(`<h3 id="implementation-principle" tabindex="-1"><a class="header-anchor" href="#implementation-principle" aria-hidden="true">#</a> Implementation Principle</h3><p><code>PanguText</code> provides two methods for text formatting on the Android platform: <code>SpannableString</code> (does not alter the original text length) and direct insertion of whitespace characters (alters the original text length).</p><p>The first method, <code>SpannableString</code>, adds a <code>Span</code> with spacing to the character before the one that needs spacing, changing the text style without altering the string content. The rendering is done by the <code>TextView</code> layer (or manually using <code>TextPaint</code> based on <code>Spanned</code> for layout styling), achieving non-intrusive text styling.</p><p>This method also supports processing already styled text (<code>Spanned</code>), such as text created via <code>Html.fromHtml</code>.</p><p><strong>However, it is currently experimental and may still have unexpected style errors</strong>. You can refer to the <a href="#personalized-configuration">Personalized Configuration</a> section below to disable it.</p><p>The dynamic application (injection) feature mainly targets the input state of <code>EditText</code>. It sets a custom <code>TextWatcher</code> for <code>EditText</code> to monitor input changes and formats the text from <code>afterTextChanged</code>.</p><p>The second method directly inserts whitespace characters after the characters that need spacing. This method alters the original text length and content but does not rely on the <code>TextView</code> layer for rendering. It uses <code>TextPaint</code> to draw the text directly, suitable for all scenarios, <strong>but does not support dynamic application (injection)</strong>.</p><div class="custom-container warning"><p class="custom-container-title">Unresolved Issues</p><p><code>PanguText</code> may conflict with Material components like <code>TextInputEditText</code>, <code>MaterialAutoCompleteTextView</code>, and <code>TextInputLayout</code> when using <code>setHint</code>, as <code>TextView</code> does not account for <code>Span</code> during measurement. This issue is particularly noticeable in single-line text, and there is no solution yet. Use these components cautiously.</p><p>Due to the above issue, calculating the width of a <code>TextView</code> with <code>PanguText</code> style using the <code>View.measure</code> method may also result in errors.</p><p><code>PanguText</code> currently cannot handle continuous characters like underlines or strikethroughs in <code>Spanned</code> text, as the lines will break after adding spacing. It may also cause style errors or fail to apply styles correctly to some special characters. For stability, avoid enabling <code>PanguText</code> for very complex rich text or refer to the <a href="#personalized-configuration">Personalized Configuration</a> section to set <code>excludePatterns</code>.</p></div><h3 id="integrate-into-existing-projects" tabindex="-1"><a class="header-anchor" href="#integrate-into-existing-projects" aria-hidden="true">#</a> Integrate into Existing Projects</h3><p>Integrating <code>PanguText</code> into your current project is very easy. You don&#39;t need to change much code. Choose your preferred method below to complete the integration.</p><h4 id="inject-to-layoutinflater" tabindex="-1"><a class="header-anchor" href="#inject-to-layoutinflater" aria-hidden="true">#</a> Inject to LayoutInflater</h4><p><code>PanguText</code> supports direct injection of <code>LayoutInflater.Factory2</code> or creating a <code>LayoutInflater.Factory2</code> instance for the current <code>Activity</code> to take over the entire view layout inflation. This is the recommended integration method, as it allows for non-intrusive and quick integration without modifying any existing layouts.</p><blockquote><p>The following example</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MainActivity</span><span style="color:#ADBAC7;"> : </span><span style="color:#F69D50;">AppCompatActivity</span><span style="color:#ADBAC7;">() {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> binding </span><span style="color:#F47067;">by</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">lazy</span><span style="color:#ADBAC7;"> { ActivityMainBinding.</span><span style="color:#DCBDFB;">inflate</span><span style="color:#ADBAC7;">(layoutInflater) }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState: </span><span style="color:#F69D50;">Bundle</span><span style="color:#ADBAC7;">?) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Inject here.</span></span>
<span class="line"><span style="color:#ADBAC7;"> PanguTextFactory2.</span><span style="color:#DCBDFB;">inject</span><span style="color:#ADBAC7;">(</span><span style="color:#6CB6FF;">this</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">setContentView</span><span style="color:#ADBAC7;">(binding.root)</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 class="custom-container tip"><p class="custom-container-title">Tips</p><p>Since <code>LayoutInflater.Factory2</code> is taken over, recycled layouts like <code>ListView</code> and <code>RecyclerView</code> can also be correctly handled.</p><p>After injecting the <code>LayoutInflater</code> instance in the <code>Activity</code>, the following instances attached to the current <code>Context</code> will automatically take effect:</p><ul><li><code>Fragment</code></li><li><code>Dialog</code></li><li><code>PopupWindow</code></li><li><code>Toast</code> (foreground only in higher system versions)</li></ul><p>Layouts based on <code>RemoteView</code> will not take effect because they are remote objects and do not use the current <code>Context</code>&#39;s <code>LayoutInflater</code> for layout inflation.</p></div>`,15),y={href:"https://betterandroid.github.io/BetterAndroid/KDoc/ui-component/ui-component/com.highcapable.betterandroid.ui.component.activity/-app-binding-activity",target:"_blank",rel:"noopener noreferrer"},A=e("code",null,"BetterAndroid",-1),m=n(`<blockquote><p>The following example</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MainActivity</span><span style="color:#ADBAC7;"> : </span><span style="color:#F69D50;">AppBindingActivity</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">ActivityMainBinding</span><span style="color:#ADBAC7;">&gt;() {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onPrepareContentView</span><span style="color:#ADBAC7;">(savedInstanceState: </span><span style="color:#F69D50;">Bundle</span><span style="color:#ADBAC7;">?): </span><span style="color:#F69D50;">LayoutInflater</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> inflater </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">onPrepareContentView</span><span style="color:#ADBAC7;">(savedInstanceState)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Inject here.</span></span>
<span class="line"><span style="color:#ADBAC7;"> PanguTextFactory2.</span><span style="color:#DCBDFB;">inject</span><span style="color:#ADBAC7;">(inflater)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">return</span><span style="color:#ADBAC7;"> inflater</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:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState: </span><span style="color:#F69D50;">Bundle</span><span style="color:#ADBAC7;">?) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</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></div><p>If your application does not use <code>AppCompatActivity</code> or <code>ViewBinding</code>, don&#39;t worry, you can still use the original method.</p><blockquote><p>The following example</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MainActivity</span><span style="color:#ADBAC7;"> : </span><span style="color:#F69D50;">Activity</span><span style="color:#ADBAC7;">() {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState: </span><span style="color:#F69D50;">Bundle</span><span style="color:#ADBAC7;">?) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Inject here.</span></span>
<span class="line"><span style="color:#ADBAC7;"> PanguTextFactory2.</span><span style="color:#DCBDFB;">inject</span><span style="color:#ADBAC7;">(</span><span style="color:#6CB6FF;">this</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">setContentView</span><span style="color:#ADBAC7;">(R.layout.activity_main)</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></div><div class="custom-container tip"><p class="custom-container-title">Tips</p><p><code>PanguTextFactory2</code> can be used not only with <code>Activity</code> but also injected into any existing <code>LayoutInflater</code> instance. However, please inject it before the <code>LayoutInflater</code> instance is used to inflate the layout, otherwise it will not take effect.</p></div><h4 id="using-the-patching-tool" tabindex="-1"><a class="header-anchor" href="#using-the-patching-tool" aria-hidden="true">#</a> Using the Patching Tool</h4><p>You can use <code>PanguTextPatcher</code> to patch existing <code>View</code> or <code>ViewGroup</code> instances.</p><p>Patch the entire root layout, and <code>PanguTextPatcher</code> will automatically patch all <code>TextView</code> instances or their subclasses under the root layout.</p><blockquote><p>The following example</p></blockquote><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:#768390;">// Assume you have a root layout.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> root: </span><span style="color:#F69D50;">ViewGroup</span></span>
<span class="line"><span style="color:#768390;">// Patch the root layout.</span></span>
<span class="line"><span style="color:#ADBAC7;">PanguTextPatcher.</span><span style="color:#DCBDFB;">patch</span><span style="color:#ADBAC7;">(root)</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></div><p>Patch a single <code>View</code>, which is of type <code>TextView</code> or a subclass of <code>TextView</code>.</p><blockquote><p>The following example</p></blockquote><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:#768390;">// Assume this is your TextView.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// Patch a single View.</span></span>
<span class="line"><span style="color:#ADBAC7;">PanguTextPatcher.</span><span style="color:#DCBDFB;">patch</span><span style="color:#ADBAC7;">(textView)</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></div><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>When using <code>PanguTextPatcher</code> in recycled layouts such as <code>RecyclerView</code>, <code>ListView</code>, or <code>ViewPager</code>, you need to patch the <code>itemView</code> in <code>onCreateViewHolder</code> or <code>onBindViewHolder</code>, otherwise it will not take effect.</p></div><h4 id="manual-injection-or-text-formatting" tabindex="-1"><a class="header-anchor" href="#manual-injection-or-text-formatting" aria-hidden="true">#</a> Manual Injection or Text Formatting</h4><p><code>PanguText</code> also supports manual injection, allowing you to inject it into the desired <code>TextView</code> or <code>EditText</code>.</p><blockquote><p>The following example</p></blockquote><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:#768390;">// Assume this is your TextView.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// Assume this is your EditText.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> editText: </span><span style="color:#F69D50;">EditText</span></span>
<span class="line"><span style="color:#768390;">// Inject into existing text.</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#ADBAC7;">editText.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#768390;">// Optionally choose whether to inject Hint (default is true).</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">(injectHint </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;">editText.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">(injectHint </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#768390;">// Dynamic injection, re-calling setText will automatically take effect.</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectRealTimePanguText</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#768390;">// Dynamic injection mainly targets the input state of EditText.</span></span>
<span class="line"><span style="color:#ADBAC7;">editText.</span><span style="color:#DCBDFB;">injectRealTimePanguText</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#768390;">// Optionally choose whether to inject Hint (default is true).</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectRealTimePanguText</span><span style="color:#ADBAC7;">(injectHint </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;">editText.</span><span style="color:#DCBDFB;">injectRealTimePanguText</span><span style="color:#ADBAC7;">(injectHint </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><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 class="line-number"></div><div class="line-number"></div></div></div><p><code>PanguText</code> also extends the <code>setText</code> method of <code>TextView</code>, allowing you to directly set text with <code>PanguText</code> style.</p><blockquote><p>The following example</p></blockquote><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:#768390;">// Assume this is your TextView.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// Set text with PanguText style.</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">setTextWithPangu</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;Xiaoming今年16岁&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#768390;">// Set Hint with PanguText style.</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">setHintWithPangu</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;输入Xiaoming的年龄&quot;</span><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></div><p>You can also use the <code>PanguText.format</code> method to directly format text.</p><blockquote><p>The following example</p></blockquote><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:#768390;">// Assume this is your TextView.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// Format text using SpannableString method.</span></span>
<span class="line"><span style="color:#768390;">// Requires passing the current TextView&#39;s Resources and text size.</span></span>
<span class="line"><span style="color:#768390;">// If the input text is already Spannable,</span></span>
<span class="line"><span style="color:#768390;">// it will return the original object without creating a new SpannableString.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> PanguText.</span><span style="color:#DCBDFB;">format</span><span style="color:#ADBAC7;">(textView.resources, textView.textSize, </span><span style="color:#96D0FF;">&quot;Xiaoming今年16岁&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#768390;">// Set text.</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> text</span></span>
<span class="line"><span style="color:#768390;">// Directly format text using whitespace characters for insertion.</span></span>
<span class="line"><span style="color:#768390;">// This method adds extra whitespace characters &quot;&quot; (HSP) to the text.</span></span>
<span class="line"><span style="color:#768390;">// The result below will output the string &quot;Xiaoming今年16岁&quot;.</span></span>
<span class="line"><span style="color:#768390;">// You can also customize the whitespace character at the end of the method.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> PanguText.</span><span style="color:#DCBDFB;">format</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;Xiaoming今年16岁&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#768390;">// Set text.</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> text</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 class="line-number"></div></div></div><div class="custom-container tip"><p class="custom-container-title">Tips</p><p>The <code>injectPanguText</code>, <code>injectRealTimePanguText</code>, <code>setTextWithPangu</code>, <code>setHintWithPangu</code>, and <code>PanguText.format</code> methods support the <code>config</code> parameter. You can refer to the <a href="#personalized-configuration">Personalized Configuration</a> section below.</p></div><h4 id="custom-view" tabindex="-1"><a class="header-anchor" href="#custom-view" aria-hidden="true">#</a> Custom View</h4><p><code>PanguText</code> can also be used with custom <code>View</code>. You can extend your <code>View</code> to <code>AppCompatTextView</code> and override the <code>setText</code> method.</p><blockquote><p>The following example</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MyTextView</span><span style="color:#ADBAC7;">(context: </span><span style="color:#F69D50;">Context</span><span style="color:#ADBAC7;">, attrs: </span><span style="color:#F69D50;">AttributeSet</span><span style="color:#ADBAC7;">? </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">null</span><span style="color:#ADBAC7;">) : </span><span style="color:#F69D50;">AppCompatTextView</span><span style="color:#ADBAC7;">(</span><span style="color:#F69D50;">context</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">attrs</span><span style="color:#ADBAC7;">) {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">setText</span><span style="color:#ADBAC7;">(text: </span><span style="color:#F69D50;">CharSequence</span><span style="color:#ADBAC7;">?, type: </span><span style="color:#F69D50;">BufferType</span><span style="color:#ADBAC7;">?) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Manually inject here.</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> panguText </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> text?.</span><span style="color:#DCBDFB;">let</span><span style="color:#ADBAC7;"> { PanguText.</span><span style="color:#DCBDFB;">format</span><span style="color:#ADBAC7;">(resources, textSize, it) }</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">setText</span><span style="color:#ADBAC7;">(panguText, type)</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></div><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>After injecting <code>PanguText</code> into <code>TextView</code>, if you use <code>android:singleLine=&quot;true&quot;</code> in XML layout or <code>TextView.setSingleLine(true)</code> in code along with <code>android:ellipsize=&quot;...&quot;</code>, this method of setting single-line text may cause unresolvable <code>OBJ</code> characters (truncated by ellipsis) to appear when the text exceeds the screen width, because <code>TextView</code> does not account for <code>Span</code> during measurement, leading to incorrect text width calculation.</p><p>The solution is to use <code>android:maxLines=&quot;1&quot;</code> in XML layout or <code>TextView.setMaxLines(1)</code> in code instead.</p><blockquote><p>The following example</p></blockquote><div class="language-xml line-numbers-mode" data-ext="xml"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">&lt;</span><span style="color:#8DDB8C;">TextView</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:id</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;@+id/text&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:layout_width</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;wrap_content&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:layout_height</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;wrap_content&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:text</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;这是一段很长很长长长长长长长长长长长长还有English混入的的文本&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:maxLines</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;1&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:ellipsize</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;end&quot;</span><span style="color:#ADBAC7;"> /&gt;</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></div></div><h3 id="personalized-configuration" tabindex="-1"><a class="header-anchor" href="#personalized-configuration" aria-hidden="true">#</a> Personalized Configuration</h3><p><code>PanguText</code> supports personalized configuration. You can use the global static instance <code>PanguText.globalConfig</code> to get the global configuration or configure it individually.</p><blockquote><p>The following example</p></blockquote><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:#768390;">// Get global configuration.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> config </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> PanguText.globalConfig</span></span>
<span class="line"><span style="color:#768390;">// Enable or disable the feature.</span></span>
<span class="line"><span style="color:#ADBAC7;">config.isEnabled </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#768390;">// Process Spanned text.</span></span>
<span class="line"><span style="color:#768390;">// Processing Spanned text is enabled by default, but this feature is experimental.</span></span>
<span class="line"><span style="color:#768390;">// If issues occur, you can disable it. When disabled, Spanned text will return the original text.</span></span>
<span class="line"><span style="color:#ADBAC7;">config.isProcessedSpanned </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#768390;">// Whether to automatically re-measure the text width after processing.</span></span>
<span class="line"><span style="color:#768390;">// Note: After [PanguText] injects text and changes the text,</span></span>
<span class="line"><span style="color:#768390;">// the width of [TextView] will not be calculated automatically.</span></span>
<span class="line"><span style="color:#768390;">// At this time, this feature will call [TextView.setText] to re-execute the measurements,</span></span>
<span class="line"><span style="color:#768390;">// which can fix issues in some dynamic layouts (such as \`RecyclerView\`) where text width changes each time,</span></span>
<span class="line"><span style="color:#768390;">// but may cause performance issues. You can choose to disable this feature.</span></span>
<span class="line"><span style="color:#768390;">// To prevent unnecessary performance overhead,</span></span>
<span class="line"><span style="color:#768390;">// this feature only takes effect on [TextView] with \`maxLines\` set to 1 or \`singleLine\`.</span></span>
<span class="line"><span style="color:#ADBAC7;">config.isAutoRemeasureText </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#768390;">// Set patterns to exclude during formatting using regular expressions.</span></span>
<span class="line"><span style="color:#768390;">// For example, exclude all URLs.</span></span>
<span class="line"><span style="color:#ADBAC7;">config.excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;https?://</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">S+&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#768390;">// For example, exclude emoji placeholders like &quot;[doge]&quot;.</span></span>
<span class="line"><span style="color:#768390;">// If you use [ImageSpan] to display emoji images, you can choose to exclude these placeholders.</span></span>
<span class="line"><span style="color:#ADBAC7;">config.excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">[.*?]&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#768390;">// Set the spacing ratio for CJK characters.</span></span>
<span class="line"><span style="color:#768390;">// This determines the final layout effect.</span></span>
<span class="line"><span style="color:#768390;">// It is recommended to keep the default ratio and adjust it according to personal preference.</span></span>
<span class="line"><span style="color:#ADBAC7;">config.cjkSpacingRatio </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">7f</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 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 class="custom-container warning"><p class="custom-container-title">Notice</p><p>If you integrated using the <a href="#inject-to-layoutinflater">Inject to LayoutInflater</a> method, configure <code>PanguText.globalConfig</code> before executing <code>PanguTextFactory2.inject(...)</code>, otherwise the configuration will not take effect.</p></div><p>You can also pass the <code>config</code> parameter for personalized configuration when manually injecting or formatting text.</p><blockquote><p>The following example</p></blockquote><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:#768390;">// Assume this is your TextView.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// Create a new configuration.</span></span>
<span class="line"><span style="color:#768390;">// You can set [copyFromGlobal] to false to not copy from the global configuration.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> config </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">PanguTextConfig</span><span style="color:#ADBAC7;">(copyFromGlobal </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;https?://</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">S+&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">[.*?]&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#ADBAC7;"> cjkSpacingRatio </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">7f</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"><span style="color:#768390;">// You can also copy and create a new configuration from any configuration.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> config2 </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> config.</span><span style="color:#DCBDFB;">copy</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">clear</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;https?://</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">S+&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">[.*?]&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#ADBAC7;"> cjkSpacingRatio </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">7f</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"><span style="color:#768390;">// Manually inject and configure.</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">(config </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> config2)</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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>If you integrated using the <a href="#inject-to-layoutinflater">Inject to LayoutInflater</a> method, you can use the following attributes in the XML layout declaration of <code>TextView</code>, <code>EditText</code>, or their subclasses for personalized configuration.</p><ul><li><code>panguText_enabled</code> corresponds to <code>PanguTextConfig.isEnabled</code></li><li><code>panguText_processedSpanned</code> corresponds to <code>PanguTextConfig.isProcessedSpanned</code></li><li><code>panguText_autoRemeasureText</code> corresponds to <code>PanguTextConfig.isAutoRemeasureText</code></li><li><code>panguText_excludePatterns</code> corresponds to <code>PanguTextConfig.excludePatterns</code>, string array, multiple patterns separated by <code>|@|</code></li><li><code>panguText_cjkSpacingRatio</code> corresponds to <code>PanguTextConfig.cjkSpacingRatio</code></li></ul><blockquote><p>The following example</p></blockquote><div class="language-xml line-numbers-mode" data-ext="xml"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">&lt;</span><span style="color:#8DDB8C;">TextView</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:id</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;@+id/text&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:layout_width</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;wrap_content&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:layout_height</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;wrap_content&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:text</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;Xiaoming今年16岁&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_enabled</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;true&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_processedSpanned</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;true&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_autoRemeasureText</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;true&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_excludePatterns</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;https?://\\\\S+;\\\\[.*?]|@|\\\\[.*?]&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_cjkSpacingRatio</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;7.0&quot;</span><span style="color:#ADBAC7;"> /&gt;</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></div><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>Due to issues with Android Studio, the above attributes may not have auto-completion hints. Please complete them manually.</p><p>Don&#39;t forget to add the declaration <code>xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;</code>.</p></div><p>In custom <code>View</code>, you can extend your <code>View</code> to implement the <code>PanguTextView</code> interface to achieve the same functionality. This feature is also effective for the <a href="#using-the-patching-tool">Using the Patching Tool</a> method.</p><blockquote><p>The following example</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MyTextView</span><span style="color:#ADBAC7;">(context: </span><span style="color:#F69D50;">Context</span><span style="color:#ADBAC7;">, attrs: </span><span style="color:#F69D50;">AttributeSet</span><span style="color:#ADBAC7;">? </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">null</span><span style="color:#ADBAC7;">) : </span><span style="color:#F69D50;">AppCompatTextView</span><span style="color:#ADBAC7;">(</span><span style="color:#F69D50;">context</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">attrs</span><span style="color:#ADBAC7;">),</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">PanguTextView</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">configurePanguText</span><span style="color:#ADBAC7;">(config: </span><span style="color:#F69D50;">PanguTextConfig</span><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Configure your [PanguTextConfig].</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></div><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>The <code>PanguTextView</code> interface takes precedence over attributes used directly in the XML layout. If you use both methods for configuration, the <code>PanguTextView</code> interface configuration will override the XML layout configuration.</p><p>Individual configurations will override global configurations, and options not configured will follow the global configuration.</p></div>`,48);function v(h,D){const a=t("ExternalLinkIcon");return i(),p("div",null,[r,e("p",null,[s("You can view the KDoc "),e("a",d,[s("click here"),l(a)]),s(".")]),u,e("p",null,[s("If you are using "),e("a",y,[s("ui-component → AppBindingActivity"),l(a)]),s(" in "),A,s(", you need to slightly modify the current code.")]),m])}const B=o(c,[["render",v],["__file","android.html.vue"]]);export{B as default};

View File

@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-5339d3dc","path":"/zh-cn/library/android.html","title":"Android","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"配置依赖","slug":"配置依赖","link":"#配置依赖","children":[{"level":3,"title":"SweetDependency (推荐)","slug":"sweetdependency-推荐","link":"#sweetdependency-推荐","children":[]},{"level":3,"title":"Version Catalog","slug":"version-catalog","link":"#version-catalog","children":[]},{"level":3,"title":"传统方式","slug":"传统方式","link":"#传统方式","children":[]}]},{"level":2,"title":"功能介绍","slug":"功能介绍","link":"#功能介绍","children":[{"level":3,"title":"实现原理","slug":"实现原理","link":"#实现原理","children":[]},{"level":3,"title":"集成到现有项目","slug":"集成到现有项目","link":"#集成到现有项目","children":[]},{"level":3,"title":"个性化配置","slug":"个性化配置","link":"#个性化配置","children":[]}]}],"git":{"updatedTime":1750752059000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":5}]},"filePathRelative":"zh-cn/library/android.md"}');export{e as data};

View File

@@ -0,0 +1,167 @@
import{_ as o,r as p,o as c,c as t,a as n,b as s,d as l,e as a}from"./app-6WmjFGj_.js";const i={},r=a(`<h1 id="android" tabindex="-1"><a class="header-anchor" href="#android" aria-hidden="true">#</a> Android</h1><p><img src="https://img.shields.io/maven-central/v/com.highcapable.pangutext/pangutext-android?logo=apachemaven&amp;logoColor=orange&amp;style=flat-square" alt="Maven Central"><span style="margin-left:5px;"></span><img src="https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fraw.githubusercontent.com%2FHighCapable%2Fmaven-repository%2Frefs%2Fheads%2Fmain%2Frepository%2Freleases%2Fcom%2Fhighcapable%2Fpangutext%2Fpangutext-android%2Fmaven-metadata.xml&amp;logo=apachemaven&amp;logoColor=orange&amp;label=highcapable-maven-releases&amp;style=flat-square" alt="Maven metadata URL"><span style="margin-left:5px;"></span><img src="https://img.shields.io/badge/Min SDK-21-orange?logo=android&amp;style=flat-square" alt="Android Min SDK"></p><p>这是 Android 平台的核心依赖,在 Android 平台上使用 <code>PanguText</code> 时,你需要引入此模块。</p><h2 id="配置依赖" tabindex="-1"><a class="header-anchor" href="#配置依赖" aria-hidden="true">#</a> 配置依赖</h2><p>你可以使用如下方式将此模块添加到你的项目中。</p><h3 id="sweetdependency-推荐" tabindex="-1"><a class="header-anchor" href="#sweetdependency-推荐" aria-hidden="true">#</a> SweetDependency (推荐)</h3><p>在你的项目 <code>SweetDependency</code> 配置文件中添加依赖。</p><div class="language-yaml line-numbers-mode" data-ext="yml"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#8DDB8C;">libraries</span><span style="color:#ADBAC7;">:</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#8DDB8C;">com.highcapable.pangutext</span><span style="color:#ADBAC7;">:</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#8DDB8C;">pangutext-android</span><span style="color:#ADBAC7;">:</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#8DDB8C;">version</span><span style="color:#ADBAC7;">: </span><span style="color:#96D0FF;">+</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></div><p>在你的项目 <code>build.gradle.kts</code> 中配置依赖。</p><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;">implementation</span><span style="color:#ADBAC7;">(com.highcapable.pangutext.pangutext.android)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="version-catalog" tabindex="-1"><a class="header-anchor" href="#version-catalog" aria-hidden="true">#</a> Version Catalog</h3><p>在你的项目 <code>gradle/libs.versions.toml</code> 中添加依赖。</p><div class="language-toml line-numbers-mode" data-ext="toml"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">[</span><span style="color:#F69D50;">versions</span><span style="color:#ADBAC7;">]</span></span>
<span class="line"><span style="color:#ADBAC7;">pangutext-android = </span><span style="color:#96D0FF;">&quot;&lt;version&gt;&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;">[</span><span style="color:#F69D50;">libraries</span><span style="color:#ADBAC7;">]</span></span>
<span class="line"><span style="color:#ADBAC7;">pangutext-android = { module = </span><span style="color:#96D0FF;">&quot;com.highcapable.pangutext:pangutext-android&quot;</span><span style="color:#ADBAC7;">, version.ref = </span><span style="color:#96D0FF;">&quot;pangutext-android&quot;</span><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></div><p>在你的项目 <code>build.gradle.kts</code> 中配置依赖。</p><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;">implementation</span><span style="color:#ADBAC7;">(libs.pangutext.android)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>请将 <code>&lt;version&gt;</code> 修改为此文档顶部显示的版本。</p><h3 id="传统方式" tabindex="-1"><a class="header-anchor" href="#传统方式" aria-hidden="true">#</a> 传统方式</h3><p>在你的项目 <code>build.gradle.kts</code> 中配置依赖。</p><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;">implementation</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;com.highcapable.pangutext:pangutext-android:&lt;version&gt;&quot;</span><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></div><p>请将 <code>&lt;version&gt;</code> 修改为此文档顶部显示的版本。</p><h2 id="功能介绍" tabindex="-1"><a class="header-anchor" href="#功能介绍" aria-hidden="true">#</a> 功能介绍</h2>`,21),d={href:"https://betterandroid.github.io/PanguText/KDoc/pangutext-android",target:"_blank",rel:"noopener noreferrer"},y=a(`<h3 id="实现原理" tabindex="-1"><a class="header-anchor" href="#实现原理" aria-hidden="true">#</a> 实现原理</h3><p><code>PanguText</code> 在 Android 平台有两种方案对文本进行格式化,一种为 <code>SpannableString</code> (不破坏原始文本长度),另一种则是直接插入空白字符 (破坏原始文本长度)。</p><p>第一种方案为 <code>SpannableString</code>,它会在需要增加间距的字符的前一个字符后增加应用了间距的 <code>Span</code> 来实现文本在样式上的改变,而不实际改变字符串的内容,最后交由 <code>TextView</code> 层完成渲染 (或手动使用 <code>TextPaint</code> 基于 <code>Spanned</code> 做布局样式处理),实现无侵入式为文本设置样式。</p><p>第一种方案同样支持直接处理已经应用了样式的文本 (<code>Spanned</code>),例如通过 <code>Html.fromHtml</code> 创建的文本,<strong>但是目前尚处于实验性阶段,可能仍然会出现非预期样式错误问题</strong> 你可以参考下方的 <a href="#%E4%B8%AA%E6%80%A7%E5%8C%96%E9%85%8D%E7%BD%AE">个性化配置</a> 选择禁用它。</p><p>动态应用 (注入) 功能主要针对 <code>EditText</code> 的输入状态,它会为 <code>EditText</code> 设置一个自定义的 <code>TextWatcher</code> 来监听输入状态,当输入状态发生变化时,从 <code>afterTextChanged</code> 中获取 <code>Editable</code> 并进行格式化。</p><p>第二种方案则是直接插入空白字符,它会直接在需要增加间距的字符后插入空白字符,这种方案会破坏原始文本的长度并且会改变文本内容自身, 但是可以不依赖于 <code>TextView</code> 层完成渲染,直接使用 <code>TextPaint</code> 绘制文本即可,适用于所有场景,<strong>但不支持动态应用 (注入)</strong>。</p><div class="custom-container warning"><p class="custom-container-title">尚未解决的问题</p><p><code>PanguText</code> 可能会与 Material 组件 <code>TextInputEditText</code>、<code>MaterialAutoCompleteTextView</code> 与 <code>TextInputLayout</code> 结合时在 <code>setHint</code> 效果上产生冲突, 因为 <code>TextView</code> 不会在测量时计算文本中的 <code>Span</code>,在单行文本中此类问题尤为明显,暂时还没有解决方案,请谨慎配合此类组件使用。</p><p>受制于上述问题,通过 <code>View.measure</code> 方法计算包含了 <code>PanguText</code> 风格的 <code>TextView</code> 宽度时也可能会出现错误。</p><p><code>PanguText</code> 目前不能处理 <code>Spanned</code> 文本中的下划线、删除线这种连续的字符,添加空白间距后线条会中断, 并且它可能会在一些特殊字符上发生样式错误或样式没有被正确应用,为了稳定性考虑请尽量不要对非常复杂的富文本启用 <code>PanguText</code> 或参考下方的 <a href="#%E4%B8%AA%E6%80%A7%E5%8C%96%E9%85%8D%E7%BD%AE">个性化配置</a> 设置 <code>excludePatterns</code>。</p></div><h3 id="集成到现有项目" tabindex="-1"><a class="header-anchor" href="#集成到现有项目" aria-hidden="true">#</a> 集成到现有项目</h3><p>将 <code>PanguText</code> 集成到你的当前项目中非常容易,你不需要改动过多代码,挑选以下你喜欢的方案进行,即可完成集成。</p><h4 id="注入布局装载器-layoutinflater" tabindex="-1"><a class="header-anchor" href="#注入布局装载器-layoutinflater" aria-hidden="true">#</a> 注入布局装载器 (LayoutInflater)</h4><p><code>PanguText</code> 支持直接注入 <code>LayoutInflater.Factory2</code> 或为当前 <code>Activity</code> 创建 <code>LayoutInflater.Factory2</code> 实例以接管整个视图, 这是推荐的集成方案,这种方式不需要修改任何现有布局即可实现无侵入式快速集成。</p><blockquote><p>示例如下</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MainActivity</span><span style="color:#ADBAC7;"> : </span><span style="color:#F69D50;">AppCompactActivity</span><span style="color:#ADBAC7;">() {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> binding </span><span style="color:#F47067;">by</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">lazy</span><span style="color:#ADBAC7;"> { ActivityMainBinding.</span><span style="color:#DCBDFB;">inflate</span><span style="color:#ADBAC7;">(layoutInflater) }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState: </span><span style="color:#F69D50;">Bundle</span><span style="color:#ADBAC7;">?) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// 在这里注入</span></span>
<span class="line"><span style="color:#ADBAC7;"> PanguTextFactory2.</span><span style="color:#DCBDFB;">inject</span><span style="color:#ADBAC7;">(</span><span style="color:#6CB6FF;">this</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">setContentView</span><span style="color:#ADBAC7;">(binding.root)</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 class="custom-container tip"><p class="custom-container-title">小提示</p><p>由于接管了 <code>LayoutInflater.Factory2</code>,所以包括类似 <code>ListView</code>、<code>RecyclerView</code> 的回收式布局也能被正确接管。</p><p>注入 <code>Activity</code> 中的 <code>LayoutInflater</code> 实例后,以下附属于当前 <code>Context</code> 的实例都会自动生效。</p><ul><li><code>Fragment</code></li><li><code>Dialog</code></li><li><code>PopupWindow</code></li><li><code>Toast</code> (在高版本系统中仅前台)</li></ul><p>基于 <code>RemoteView</code> 的布局将无法生效,因为它们是远程对象,不会使用当前 <code>Context</code> 的 <code>LayoutInflater</code> 进行布局装载。</p></div>`,14),A=n("code",null,"BetterAndroid",-1),u={href:"https://betterandroid.github.io/BetterAndroid/KDoc/ui-component/ui-component/com.highcapable.betterandroid.ui.component.activity/-app-binding-activity",target:"_blank",rel:"noopener noreferrer"},v=a(`<blockquote><p>示例如下</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MainActivity</span><span style="color:#ADBAC7;"> : </span><span style="color:#F69D50;">AppBindingActivity</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">ActivityMainBinding</span><span style="color:#ADBAC7;">&gt;() {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onPrepareContentView</span><span style="color:#ADBAC7;">(savedInstanceState: </span><span style="color:#F69D50;">Bundle</span><span style="color:#ADBAC7;">?): </span><span style="color:#F69D50;">LayoutInflater</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> inflater </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">onPrepareContentView</span><span style="color:#ADBAC7;">(savedInstanceState)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// 在这里注入</span></span>
<span class="line"><span style="color:#ADBAC7;"> PanguTextFactory2.</span><span style="color:#DCBDFB;">inject</span><span style="color:#ADBAC7;">(inflater)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">return</span><span style="color:#ADBAC7;"> inflater</span></span>
<span class="line"><span style="color:#ADBAC7;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState: </span><span style="color:#F69D50;">Bundle</span><span style="color:#ADBAC7;">?) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// Your code here.</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></div><p>如果你的应用程序没有使用 <code>AppCompatActivity</code> 也没有使用 <code>ViewBinding</code>,没有关系,你依然可以使用最初的方案进行。</p><blockquote><p>示例如下</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MainActivity</span><span style="color:#ADBAC7;"> : </span><span style="color:#F69D50;">Activity</span><span style="color:#ADBAC7;">() {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState: </span><span style="color:#F69D50;">Bundle</span><span style="color:#ADBAC7;">?) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">onCreate</span><span style="color:#ADBAC7;">(savedInstanceState)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// 在这里注入</span></span>
<span class="line"><span style="color:#ADBAC7;"> PanguTextFactory2.</span><span style="color:#DCBDFB;">inject</span><span style="color:#ADBAC7;">(</span><span style="color:#6CB6FF;">this</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">setContentView</span><span style="color:#ADBAC7;">(R.layout.activity_main)</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></div><div class="custom-container tip"><p class="custom-container-title">小提示</p><p><code>PanguTextFactory2</code> 除了可以配合 <code>Activity</code> 使用,它还支持注入到任何现有的 <code>LayoutInflater</code> 实例中,但请在 <code>LayoutInflater</code> 实例被用于装载布局前进行注入,否则将无法生效。</p></div><h4 id="使用修补工具" tabindex="-1"><a class="header-anchor" href="#使用修补工具" aria-hidden="true">#</a> 使用修补工具</h4><p>你可以使用 <code>PanguTextPatcher</code> 修补现有的 <code>View</code> 或 <code>ViewGroup</code> 实例。</p><p>修补整个根布局,<code>PanguTextPatcher</code> 会自动修补根布局下的所有 <code>TextView</code> 或继承于其的组件。</p><blockquote><p>示例如下</p></blockquote><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:#768390;">// 假设你有一个根布局</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> root: </span><span style="color:#F69D50;">ViewGroup</span></span>
<span class="line"><span style="color:#768390;">// 修补根布局</span></span>
<span class="line"><span style="color:#ADBAC7;">PanguTextPatcher.</span><span style="color:#DCBDFB;">patch</span><span style="color:#ADBAC7;">(root)</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></div><p>修补单个 <code>View</code>,类型为 <code>TextView</code> 或继承于 <code>TextView</code> 的组件。</p><blockquote><p>示例如下</p></blockquote><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:#768390;">// 假设这就是你的 TextView</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// 修补单个 View</span></span>
<span class="line"><span style="color:#ADBAC7;">PanguTextPatcher.</span><span style="color:#DCBDFB;">patch</span><span style="color:#ADBAC7;">(textView)</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></div><div class="custom-container warning"><p class="custom-container-title">注意</p><p>在 <code>RecyclerView</code>、<code>ListView</code>、<code>ViewPager</code> 等回收式布局中使用 <code>PanguTextPatcher</code> 时,你需要在 <code>onCreateViewHolder</code> 或 <code>onBindViewHolder</code> 中获取到 <code>itemView</code> 后进行修补,否则不会生效。</p></div><h4 id="手动注入或格式化文本" tabindex="-1"><a class="header-anchor" href="#手动注入或格式化文本" aria-hidden="true">#</a> 手动注入或格式化文本</h4><p><code>PanguText</code> 同样支持手动注入,你可以在需要的 <code>TextView</code> 或 <code>EditText</code> 上手动进行注入。</p><blockquote><p>示例如下</p></blockquote><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:#768390;">// 假设这就是你的 TextView</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// 假设这就是你的 EditText</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> editText: </span><span style="color:#F69D50;">EditText</span></span>
<span class="line"><span style="color:#768390;">// 注入到现有文本</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#ADBAC7;">editText.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#768390;">// 可以选择是否同时注入 Hint (默认是)</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">(injectHint </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;">editText.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">(injectHint </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#768390;">// 动态注入,重新调用 setText 也会自动生效</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectRealTimePanguText</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#768390;">// 动态注入主要针对于 EditText 的输入状态</span></span>
<span class="line"><span style="color:#ADBAC7;">editText.</span><span style="color:#DCBDFB;">injectRealTimePanguText</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#768390;">// 同样可以选择是否同时注入 Hint (默认是)</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectRealTimePanguText</span><span style="color:#ADBAC7;">(injectHint </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#ADBAC7;">editText.</span><span style="color:#DCBDFB;">injectRealTimePanguText</span><span style="color:#ADBAC7;">(injectHint </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><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 class="line-number"></div><div class="line-number"></div></div></div><p><code>PanguText</code> 还对 <code>TextView</code> 的 <code>setText</code> 方法进行了扩展,你可以使用如下方式直接设置带有 <code>PanugText</code> 样式的文本。</p><blockquote><p>示例如下</p></blockquote><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:#768390;">// 假设这就是你的 TextView</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// 设置带有 PanguText 样式的文本</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">setTextWithPangu</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;Xiaoming今年16岁&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#768390;">// 设置带有 PanguText 样式的 Hint</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">setHintWithPangu</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;输入Xiaoming的年龄&quot;</span><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></div><p>你还可以使用 <code>PanguText.format</code> 方法直接格式化文本。</p><blockquote><p>示例如下</p></blockquote><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:#768390;">// 假设这就是你的 TextView</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// 使用 SpannableString 方案格式化文本</span></span>
<span class="line"><span style="color:#768390;">// 需要传入当前 TextView 的 Resources 以及字体大小</span></span>
<span class="line"><span style="color:#768390;">// 如果传入的文本自身为 Spannable 类型,则不会创建新的 SpannableString而是返回原始对象</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> PanguText.</span><span style="color:#DCBDFB;">format</span><span style="color:#ADBAC7;">(textView.resources, textView.textSize, </span><span style="color:#96D0FF;">&quot;Xiaoming今年16岁&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#768390;">// 设置文本</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> text</span></span>
<span class="line"><span style="color:#768390;">// 直接使用空白字符以插入破坏的方式格式化文本</span></span>
<span class="line"><span style="color:#768390;">// 这个方案会为文本增加额外的空白字符 &quot;&quot; (HSP)</span></span>
<span class="line"><span style="color:#768390;">// 下方的结果会输出字符串 &quot;Xiaoming今年16岁&quot;</span></span>
<span class="line"><span style="color:#768390;">// 你也可以在方法末位自定义要使用的空白字符</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> PanguText.</span><span style="color:#DCBDFB;">format</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;Xiaoming今年16岁&quot;</span><span style="color:#ADBAC7;">)</span></span>
<span class="line"><span style="color:#768390;">// 设置文本</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> text</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 class="custom-container tip"><p class="custom-container-title">小提示</p><p><code>injectPanguText</code>、<code>injectRealTimePanguText</code>、<code>setTextWithPangu</code>、<code>setHintWithPangu</code>、<code>PanguText.format</code> 方法支持 <code>config</code> 参数,你可以参考下方的 <a href="#%E4%B8%AA%E6%80%A7%E5%8C%96%E9%85%8D%E7%BD%AE">个性化配置</a>。</p></div><h4 id="自定义-view" tabindex="-1"><a class="header-anchor" href="#自定义-view" aria-hidden="true">#</a> 自定义 View</h4><p><code>PanguText</code> 还可以配合自定义 <code>View</code> 进行使用,你可以将你的 <code>View</code> 继承到 <code>AppCompatTextView</code> 并重写 <code>setText</code> 方法。</p><blockquote><p>示例如下</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MyTextView</span><span style="color:#ADBAC7;">(context: </span><span style="color:#F69D50;">Context</span><span style="color:#ADBAC7;">, attrs: </span><span style="color:#F69D50;">AttributeSet</span><span style="color:#ADBAC7;">? </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">null</span><span style="color:#ADBAC7;">) : </span><span style="color:#F69D50;">AppCompatTextView</span><span style="color:#ADBAC7;">(</span><span style="color:#F69D50;">context</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">attrs</span><span style="color:#ADBAC7;">) {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">setText</span><span style="color:#ADBAC7;">(text: </span><span style="color:#F69D50;">CharSequence</span><span style="color:#ADBAC7;">?, type: </span><span style="color:#F69D50;">BufferType</span><span style="color:#ADBAC7;">?) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// 在这里手动进行注入</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> panguText </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> text?.</span><span style="color:#DCBDFB;">let</span><span style="color:#ADBAC7;"> { PanguText.</span><span style="color:#DCBDFB;">format</span><span style="color:#ADBAC7;">(resources, textSize, it) }</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">super</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">setText</span><span style="color:#ADBAC7;">(panguText, type)</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></div><div class="custom-container warning"><p class="custom-container-title">注意</p><p><code>TextView</code> 在注入 <code>PanguText</code> 后,如果你在 XML 布局中使用了 <code>android:singleLine=&quot;true&quot;</code> 或在代码中使用了 <code>TextView.setSingleLine(true)</code> 并且配合 <code>android:elipsize=&quot;...&quot;</code> 那么这种方式设置单行文本可能会造成文本超出屏幕后其中会中显示出无法解析的 <code>OBJ</code> 字符 (被省略号截断),因为 <code>TextView</code> 不会在测量时计算文本中的 <code>Span</code>,这会导致文本宽度计算错误。 解决方案为在 XML 布局中使用 <code>android:maxLines=&quot;1&quot;</code> 或在代码中使用 <code>TextView.setMaxLines(1)</code> 来代替。</p><blockquote><p>示例如下</p></blockquote><div class="language-xml line-numbers-mode" data-ext="xml"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">&lt;</span><span style="color:#8DDB8C;">TextView</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:id</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;@+id/text&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:layout_width</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;wrap_content&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:layout_height</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;wrap_content&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:text</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;这是一段很长很长长长长长长长长长长长长还有English混入的的文本&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:maxLines</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;1&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:ellipsize</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;end&quot;</span><span style="color:#ADBAC7;"> /&gt;</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></div></div><h3 id="个性化配置" tabindex="-1"><a class="header-anchor" href="#个性化配置" aria-hidden="true">#</a> 个性化配置</h3><p><code>PanguText</code> 支持个性化配置,你可以使用全局静态实例 <code>PanguText.globalConfig</code> 获取全局配置,或单独进行配置。</p><blockquote><p>示例如下</p></blockquote><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:#768390;">// 获取全局配置</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> config </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> PanguText.globalConfig</span></span>
<span class="line"><span style="color:#768390;">// 开关,禁用将使所有功能失效</span></span>
<span class="line"><span style="color:#ADBAC7;">config.isEnabled </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#768390;">// 处理 Spanned 文本</span></span>
<span class="line"><span style="color:#768390;">// Spanned 文本处理默认启用,但此功能尚处于实验性阶段,</span></span>
<span class="line"><span style="color:#768390;">// 如果发生问题你可以选择禁用,禁用后遇到 Spanned 文本将返回原始文本</span></span>
<span class="line"><span style="color:#ADBAC7;">config.isProcessedSpanned </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#768390;">// 是否要在处理后自动重新测量文本宽度</span></span>
<span class="line"><span style="color:#768390;">// 注意:[PanguText] 注入文本并更改文本后,[TextView] 的宽度将不会自动计算</span></span>
<span class="line"><span style="color:#768390;">// 目前,此功能将调用 [TextView.setText] 重新执行测量结果,</span></span>
<span class="line"><span style="color:#768390;">// 该测量可以在某些动态布局 (例如 \`RecyclerView\`) 中每次修复文本宽度,</span></span>
<span class="line"><span style="color:#768390;">// 但可能会导致性能问题,你可以选择禁用此功能</span></span>
<span class="line"><span style="color:#768390;">// 为了防止不必要的性能开销,此功能仅在 \`maxlines\` 设置为 1 或 \`singleLine\` 的 [TextView] 上生效</span></span>
<span class="line"><span style="color:#ADBAC7;">config.isAutoRemeasureText </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">true</span></span>
<span class="line"><span style="color:#768390;">// 设置在格式化过程中以正则形式定义需要排除的内容</span></span>
<span class="line"><span style="color:#768390;">// 例如排除全部 URL</span></span>
<span class="line"><span style="color:#ADBAC7;">config.excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;https?://</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">S+&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#768390;">// 例如排除类似 &quot;[doge]&quot; 的 emoji 占位符,</span></span>
<span class="line"><span style="color:#768390;">// 如果你需要使用 [ImageSpan] 显示 emoji 图片,你可以选择排除这些占位符</span></span>
<span class="line"><span style="color:#ADBAC7;">config.excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">[.*?]&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#768390;">// 设置 CJK 空白占位间距比例</span></span>
<span class="line"><span style="color:#768390;">// 这会决定最终的排版效果,建议保持默认比例,然后再以此跟随个人喜好进行调整</span></span>
<span class="line"><span style="color:#ADBAC7;">config.cjkSpacingRatio </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">7f</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 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 class="custom-container warning"><p class="custom-container-title">注意</p><p>如果你使用了 <a href="#%E6%B3%A8%E5%85%A5%E5%B8%83%E5%B1%80%E8%A3%85%E8%BD%BD%E5%99%A8-layoutinflater">注入布局装载器</a> 的方案进行集成,请在 <code>PanguTextFactory2.inject(...)</code> 执行前配置 <code>PanguText.globalConfig</code>,否则配置将无法生效。</p></div><p>你还可以在手动注入或格式化文本时传入 <code>config</code> 参数以进行个性化配置。</p><blockquote><p>示例如下</p></blockquote><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:#768390;">// 假设这就是你的 TextView</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> textView: </span><span style="color:#F69D50;">TextView</span></span>
<span class="line"><span style="color:#768390;">// 创建一个新配置</span></span>
<span class="line"><span style="color:#768390;">// 你可以设置 [copyFromGlobal] 为 false 来不从全局配置中复制配置</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> config </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">PanguTextConfig</span><span style="color:#ADBAC7;">(copyFromGlobal </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">false</span><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;https?://</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">S+&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">[.*?]&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#ADBAC7;"> cjkSpacingRatio </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">7f</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"><span style="color:#768390;">// 你还可以从任意一个配置中复制并创建新配置</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> config2 </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> config.</span><span style="color:#DCBDFB;">copy</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">clear</span><span style="color:#ADBAC7;">()</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;https?://</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">S+&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#ADBAC7;"> excludePatterns.</span><span style="color:#DCBDFB;">add</span><span style="color:#ADBAC7;">(</span><span style="color:#96D0FF;">&quot;</span><span style="color:#F47067;">\\\\</span><span style="color:#96D0FF;">[.*?]&quot;</span><span style="color:#ADBAC7;">.</span><span style="color:#DCBDFB;">toRegex</span><span style="color:#ADBAC7;">())</span></span>
<span class="line"><span style="color:#ADBAC7;"> cjkSpacingRatio </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">7f</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"><span style="color:#768390;">// 手动注入并配置</span></span>
<span class="line"><span style="color:#ADBAC7;">textView.</span><span style="color:#DCBDFB;">injectPanguText</span><span style="color:#ADBAC7;">(config </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> config2)</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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>如果你使用了 <a href="#%E6%B3%A8%E5%85%A5%E5%B8%83%E5%B1%80%E8%A3%85%E8%BD%BD%E5%99%A8-layoutinflater">注入布局装载器</a> 的方案进行集成,你可以在 <code>TextView</code>、<code>EditText</code> 或继承于它们的 XML 布局声明中使用以下属性来进行个性化配置。</p><ul><li><code>panguText_enabled</code> 对应 <code>PanguTextConfig.isEnabled</code></li><li><code>panguText_processedSpanned</code> 对应 <code>PanguTextConfig.isProcessedSpanned</code></li><li><code>panguText_autoRemeasureText</code> 对应 <code>PanguTextConfig.isAutoRemeasureText</code></li><li><code>panguText_excludePatterns</code> 对应 <code>PanguTextConfig.excludePatterns</code>,字符串数组,多个使用 <code>|@|</code> 分隔</li><li><code>panguText_cjkSpacingRatio</code> 对应 <code>PanguTextConfig.cjkSpacingRatio</code></li></ul><blockquote><p>示例如下</p></blockquote><div class="language-xml line-numbers-mode" data-ext="xml"><pre class="shiki github-dark-dimmed" style="background-color:#22272e;" tabindex="0"><code><span class="line"><span style="color:#ADBAC7;">&lt;</span><span style="color:#8DDB8C;">TextView</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:id</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;@+id/text&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:layout_width</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;wrap_content&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:layout_height</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;wrap_content&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">android:text</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;Xiaoming今年16岁&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_enabled</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;true&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_processedSpanned</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;true&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_autoRemeasureText</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;true&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_excludePatterns</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;https?://\\\\S+;\\\\[.*?]|@|\\\\[.*?]&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">app:panguText_cjkSpacingRatio</span><span style="color:#ADBAC7;">=</span><span style="color:#96D0FF;">&quot;7.0&quot;</span><span style="color:#ADBAC7;"> /&gt;</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></div><div class="custom-container warning"><p class="custom-container-title">注意</p><p>由于 Android Studio 的问题,上述属性可能不会有补全提示,请自行补全。</p><p>不要忘记加入声明 <code>xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;</code>。</p></div><p>在自定义 <code>View</code> 中,你可以将你的 <code>View</code> 继承于 <code>PanguTextView</code> 接口以同样实现上述功能,此功能对 <a href="#%E4%BD%BF%E7%94%A8%E4%BF%AE%E8%A1%A5%E5%B7%A5%E5%85%B7">使用修补工具</a> 方案同样有效。</p><blockquote><p>示例如下</p></blockquote><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:#F47067;">class</span><span style="color:#ADBAC7;"> </span><span style="color:#F69D50;">MyTextView</span><span style="color:#ADBAC7;">(context: </span><span style="color:#F69D50;">Context</span><span style="color:#ADBAC7;">, attrs: </span><span style="color:#F69D50;">AttributeSet</span><span style="color:#ADBAC7;">? </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">null</span><span style="color:#ADBAC7;">) : </span><span style="color:#F69D50;">AppCompatTextView</span><span style="color:#ADBAC7;">(</span><span style="color:#F69D50;">context</span><span style="color:#ADBAC7;">, </span><span style="color:#F69D50;">attrs</span><span style="color:#ADBAC7;">),</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">PanguTextView</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">override</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">fun</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">configurePanguText</span><span style="color:#ADBAC7;">(config: </span><span style="color:#F69D50;">PanguTextConfig</span><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;"> </span><span style="color:#768390;">// 配置你的 [PanguTextConfig]</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></div><div class="custom-container warning"><p class="custom-container-title">注意</p><p><code>PanguTextView</code> 接口的优先级将高于直接在 XML 布局中使用的属性,如果你同时使用了这两种方式进行配置,<code>PanguTextView</code> 接口的配置将覆盖 XML 布局中的配置。</p><p>单独配置将覆盖全局配置,未配置的选项将跟随全局配置。</p></div>`,48);function D(B,C){const e=p("ExternalLinkIcon");return c(),t("div",null,[r,n("p",null,[s("你可以 "),n("a",d,[s("点击这里"),l(e)]),s(" 查看 KDoc。")]),y,n("p",null,[s("如果你正在使用 "),A,s(" 中的 "),n("a",u,[s("ui-compoment → AppBindingActivity"),l(e)]),s(",你需要稍微改动当前代码。")]),v])}const b=o(i,[["render",D],["__file","android.html.vue"]]);export{b as default};

16
assets/app-6WmjFGj_.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{_ as l,r as a,o as d,c as s,a as e,b as t,d as n,e as r}from"./app-6WmjFGj_.js";const c={},h=r('<h1 id="changelog" tabindex="-1"><a class="header-anchor" href="#changelog" aria-hidden="true">#</a> Changelog</h1><blockquote><p>The version update history of <code>PanguText</code> is recorded here.</p></blockquote><div class="custom-container danger"><p class="custom-container-title">Pay Attention</p><p>We will only maintain the latest API version. If you are using an outdated API version, you voluntarily renounce any possibility of maintenance.</p></div><div class="custom-container warning"><p class="custom-container-title">Notice</p><p>To avoid translation time consumption, the Changelog will use <strong>Google Translation</strong> from <strong>Chinese</strong> to <strong>English</strong>. Please refer to the original text for actual reference.</p><p>Time zone of version release date: <strong>UTC+8</strong></p></div><h2 id="pangutext-android" tabindex="-1"><a class="header-anchor" href="#pangutext-android" aria-hidden="true">#</a> pangutext-android</h2>',5),u={id:"_1-0-4-2025-08-16",tabindex:"-1"},g=e("a",{class:"header-anchor",href:"#_1-0-4-2025-08-16","aria-hidden":"true"},"#",-1),_=e("ul",null,[e("li",null,[t("Exclude "),e("code",null,"TextView"),t("'s own "),e("code",null,"TextWatcher"),t(" set during "),e("code",null,"injectPanguText"),t(" execution to prevent repeated triggering of "),e("code",null,"doOnTextChanged")])],-1),p={id:"_1-0-3-2025-08-03",tabindex:"-1"},x=e("a",{class:"header-anchor",href:"#_1-0-3-2025-08-03","aria-hidden":"true"},"#",-1),f={href:"https://github.com/HighCapable/YukiReflection",target:"_blank",rel:"noopener noreferrer"},m={href:"https://github.com/HighCapable/KavaRef",target:"_blank",rel:"noopener noreferrer"},v=e("li",null,"Other known issues fixed",-1),w={id:"_1-0-2-2025-03-05",tabindex:"-1"},T=e("a",{class:"header-anchor",href:"#_1-0-2-2025-03-05","aria-hidden":"true"},"#",-1),b=r("<ul><li>Added exception handling in <code>PanguTextFactory2</code> during injection to avoid interrupting the entire process during <code>View</code> initialization</li><li>Removed duplicate injection warning logs, now duplicate injections of <code>PanguText</code> will have no effect</li><li>Added <code>PanguTextPatcher</code>, which allows injecting <code>PanguText</code> using a new method</li></ul>",1),y={id:"_1-0-1-2025-02-11",tabindex:"-1"},P=e("a",{class:"header-anchor",href:"#_1-0-1-2025-02-11","aria-hidden":"true"},"#",-1),k=e("ul",null,[e("li",null,[t("Fixed an issue where injecting "),e("code",null,"PanguText"),t(" could cause incorrect width measurement in "),e("code",null,"TextView")]),e("li",null,[t("Added "),e("code",null,"isAutoRemeasureText"),t(" to "),e("code",null,"PanguTextConfig"),t(" to control whether to automatically remeasure text width (applies to single-line text in "),e("code",null,"TextView"),t(")")])],-1),C={id:"_1-0-0-2025-02-10",tabindex:"-1"},V=e("a",{class:"header-anchor",href:"#_1-0-0-2025-02-10","aria-hidden":"true"},"#",-1),A=e("ul",null,[e("li",null,"The first version is submitted to Maven")],-1),j=e("h2",{id:"pangutext-compose",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#pangutext-compose","aria-hidden":"true"},"#"),t(" pangutext-compose")],-1),N=e("p",null,"Not yet released.",-1);function R(B,E){const o=a("Badge"),i=a("ExternalLinkIcon");return d(),s("div",null,[h,e("h3",u,[g,t(" 1.0.4 | 2025.08.16 "),n(o,{type:"tip",text:"latest",vertical:"middle"})]),_,e("h3",p,[x,t(" 1.0.3 | 2025.08.03 "),n(o,{type:"warning",text:"stale",vertical:"middle"})]),e("ul",null,[e("li",null,[t("Migrate Java reflection-related behavior from "),e("a",f,[t("YukiReflection"),n(i)]),t(" to "),e("a",m,[t("KavaRef"),n(i)])]),v]),e("h3",w,[T,t(" 1.0.2 | 2025.03.05 "),n(o,{type:"warning",text:"stale",vertical:"middle"})]),b,e("h3",y,[P,t(" 1.0.1 | 2025.02.11 "),n(o,{type:"warning",text:"stale",vertical:"middle"})]),k,e("h3",C,[V,t(" 1.0.0 | 2025.02.10 "),n(o,{type:"warning",text:"stale",vertical:"middle"})]),A,j,N])}const q=l(c,[["render",R],["__file","changelog.html.vue"]]);export{q as default};

View File

@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-0e6c3476","path":"/zh-cn/about/changelog.html","title":"更新日志","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"pangutext-android","slug":"pangutext-android","link":"#pangutext-android","children":[{"level":3,"title":"1.0.4 | 2025.08.16","slug":"_1-0-4-2025-08-16","link":"#_1-0-4-2025-08-16","children":[]},{"level":3,"title":"1.0.3 | 2025.08.03","slug":"_1-0-3-2025-08-03","link":"#_1-0-3-2025-08-03","children":[]},{"level":3,"title":"1.0.2 | 2025.03.05","slug":"_1-0-2-2025-03-05","link":"#_1-0-2-2025-03-05","children":[]},{"level":3,"title":"1.0.1 | 2025.02.11","slug":"_1-0-1-2025-02-11","link":"#_1-0-1-2025-02-11","children":[]},{"level":3,"title":"1.0.0 | 2025.02.10","slug":"_1-0-0-2025-02-10","link":"#_1-0-0-2025-02-10","children":[]}]},{"level":2,"title":"pangutext-compose","slug":"pangutext-compose","link":"#pangutext-compose","children":[]}],"git":{"updatedTime":1755275215000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":5}]},"filePathRelative":"zh-cn/about/changelog.md"}');export{e as data};

View File

@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-3f851d14","path":"/en/about/changelog.html","title":"Changelog","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"pangutext-android","slug":"pangutext-android","link":"#pangutext-android","children":[{"level":3,"title":"1.0.4 | 2025.08.16","slug":"_1-0-4-2025-08-16","link":"#_1-0-4-2025-08-16","children":[]},{"level":3,"title":"1.0.3 | 2025.08.03","slug":"_1-0-3-2025-08-03","link":"#_1-0-3-2025-08-03","children":[]},{"level":3,"title":"1.0.2 | 2025.03.05","slug":"_1-0-2-2025-03-05","link":"#_1-0-2-2025-03-05","children":[]},{"level":3,"title":"1.0.1 | 2025.02.11","slug":"_1-0-1-2025-02-11","link":"#_1-0-1-2025-02-11","children":[]},{"level":3,"title":"1.0.0 | 2025.02.10","slug":"_1-0-0-2025-02-10","link":"#_1-0-0-2025-02-10","children":[]}]},{"level":2,"title":"pangutext-compose","slug":"pangutext-compose","link":"#pangutext-compose","children":[]}],"git":{"updatedTime":1755275215000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":6}]},"filePathRelative":"en/about/changelog.md"}');export{e as data};

View File

@@ -0,0 +1 @@
import{_ as c,r as d,o as l,c as r,a as e,b as t,d as a,e as i}from"./app-6WmjFGj_.js";const s={},h=i('<h1 id="更新日志" tabindex="-1"><a class="header-anchor" href="#更新日志" aria-hidden="true">#</a> 更新日志</h1><blockquote><p>这里记录了 <code>PanguText</code> 的版本更新历史。</p></blockquote><div class="custom-container danger"><p class="custom-container-title">特别注意</p><p>我们只会对最新的 API 版本进行维护,若你正在使用过时的 API 版本则代表你自愿放弃一切维护的可能性。</p></div><h2 id="pangutext-android" tabindex="-1"><a class="header-anchor" href="#pangutext-android" aria-hidden="true">#</a> pangutext-android</h2>',4),_={id:"_1-0-4-2025-08-16",tabindex:"-1"},u=e("a",{class:"header-anchor",href:"#_1-0-4-2025-08-16","aria-hidden":"true"},"#",-1),x=e("ul",null,[e("li",null,[t("在执行 "),e("code",null,"injectPanguText"),t(" 时排除 "),e("code",null,"TextView"),t(" 自身设置的 "),e("code",null,"TextWatcher"),t(" 防止重复触发 "),e("code",null,"doOnTextChanged")])],-1),p={id:"_1-0-3-2025-08-03",tabindex:"-1"},g=e("a",{class:"header-anchor",href:"#_1-0-3-2025-08-03","aria-hidden":"true"},"#",-1),f={href:"https://github.com/HighCapable/YukiReflection",target:"_blank",rel:"noopener noreferrer"},m={href:"https://github.com/HighCapable/KavaRef",target:"_blank",rel:"noopener noreferrer"},b=e("li",null,"其它已知问题修复",-1),T={id:"_1-0-2-2025-03-05",tabindex:"-1"},v=e("a",{class:"header-anchor",href:"#_1-0-2-2025-03-05","aria-hidden":"true"},"#",-1),P=i("<ul><li><code>PanguTextFactory2</code> 在注入时新增异常捕获,避免在 <code>View</code> 自身初始化过程中断整个处理过程</li><li>移除重复注入的警告日志,现在重复注入 <code>PanguText</code> 将无任何作用产生</li><li>新增 <code>PanguTextPatcher</code>,可以使用新的方案注入 <code>PanguText</code></li></ul>",1),k={id:"_1-0-1-2025-02-11",tabindex:"-1"},w=e("a",{class:"header-anchor",href:"#_1-0-1-2025-02-11","aria-hidden":"true"},"#",-1),V=e("ul",null,[e("li",null,[t("修复注入 "),e("code",null,"PanguText"),t(" 后 "),e("code",null,"TextView"),t(" 可能导致测量宽度不正确的问题")]),e("li",null,[e("code",null,"PanguTextConfig"),t(" 新增 "),e("code",null,"isAutoRemeasureText"),t(",用于控制是否自动重新测量文本宽度 (作用于 "),e("code",null,"TextView"),t(" 单行文本)")])],-1),y={id:"_1-0-0-2025-02-10",tabindex:"-1"},B=e("a",{class:"header-anchor",href:"#_1-0-0-2025-02-10","aria-hidden":"true"},"#",-1),C=e("ul",null,[e("li",null,"首个版本提交至 Maven")],-1),R=e("h2",{id:"pangutext-compose",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#pangutext-compose","aria-hidden":"true"},"#"),t(" pangutext-compose")],-1),I=e("p",null,"暂未发布。",-1);function N(A,E){const n=d("Badge"),o=d("ExternalLinkIcon");return l(),r("div",null,[h,e("h3",_,[u,t(" 1.0.4 | 2025.08.16 "),a(n,{type:"tip",text:"最新",vertical:"middle"})]),x,e("h3",p,[g,t(" 1.0.3 | 2025.08.03 "),a(n,{type:"warning",text:"过旧",vertical:"middle"})]),e("ul",null,[e("li",null,[t("将 Java 反射相关行为由 "),e("a",f,[t("YukiReflection"),a(o)]),t(" 迁移至 "),e("a",m,[t("KavaRef"),a(o)])]),b]),e("h3",T,[v,t(" 1.0.2 | 2025.03.05 "),a(n,{type:"warning",text:"过旧",vertical:"middle"})]),P,e("h3",k,[w,t(" 1.0.1 | 2025.02.11 "),a(n,{type:"warning",text:"过旧",vertical:"middle"})]),V,e("h3",y,[B,t(" 1.0.0 | 2025.02.10 "),a(n,{type:"warning",text:"过旧",vertical:"middle"})]),C,R,I])}const H=c(s,[["render",N],["__file","changelog.html.vue"]]);export{H as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as a,c as t,e as o}from"./app-6WmjFGj_.js";const s={},p=o('<h1 id="jetpack-compose" tabindex="-1"><a class="header-anchor" href="#jetpack-compose" aria-hidden="true">#</a> Jetpack Compose</h1><p><img src="https://img.shields.io/maven-central/v/com.highcapable.pangutext/pangutext-compose?logo=apachemaven&amp;logoColor=orange&amp;style=flat-square" alt="Maven Central"><span style="margin-left:5px;"></span><img src="https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fraw.githubusercontent.com%2FHighCapable%2Fmaven-repository%2Frefs%2Fheads%2Fmain%2Frepository%2Freleases%2Fcom%2Fhighcapable%2Fpangutext%2Fpangutext-compose%2Fmaven-metadata.xml&amp;logo=apachemaven&amp;logoColor=orange&amp;label=highcapable-maven-releases&amp;style=flat-square" alt="Maven metadata URL"></p><p>这是 Jetpack Compose (多平台) 的核心依赖,在 Jetpack Compose 上使用 <code>PanguText</code> 时,你需要引入此模块。</p><p>此模块尚在开发阶段,将在后期逐渐进行完善。</p>',4),c=[p];function m(n,l){return a(),t("div",null,c)}const i=e(s,[["render",m],["__file","compose.html.vue"]]);export{i as default};

View File

@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-78411699","path":"/zh-cn/library/compose.html","title":"Jetpack Compose","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1750752059000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"zh-cn/library/compose.md"}');export{e as data};

View File

@@ -0,0 +1 @@
import{_ as e,o as a,c as t,e as o}from"./app-6WmjFGj_.js";const s={},n=o('<h1 id="jetpack-compose" tabindex="-1"><a class="header-anchor" href="#jetpack-compose" aria-hidden="true">#</a> Jetpack Compose</h1><p><img src="https://img.shields.io/maven-central/v/com.highcapable.pangutext/pangutext-compose?logo=apachemaven&amp;logoColor=orange&amp;style=flat-square" alt="Maven Central"><span style="margin-left:5px;"></span><img src="https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fraw.githubusercontent.com%2FHighCapable%2Fmaven-repository%2Frefs%2Fheads%2Fmain%2Frepository%2Freleases%2Fcom%2Fhighcapable%2Fpangutext%2Fpangutext-compose%2Fmaven-metadata.xml&amp;logo=apachemaven&amp;logoColor=orange&amp;label=highcapable-maven-releases&amp;style=flat-square" alt="Maven metadata URL"></p><p>This is the core dependency for Jetpack Compose (multiplatform). When using <code>PanguText</code> in Jetpack Compose, you need to include this module.</p><p>This module is currently under development and will be gradually improved in the future.</p>',4),p=[n];function l(c,m){return a(),t("div",null,p)}const i=e(s,[["render",l],["__file","compose.html.vue"]]);export{i as default};

View File

@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-82076430","path":"/en/library/compose.html","title":"Jetpack Compose","lang":"en-US","frontmatter":{},"headers":[],"git":{"updatedTime":1750752059000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":2}]},"filePathRelative":"en/library/compose.md"}');export{e as data};

View File

@@ -0,0 +1 @@
import{_ as a,r,o as s,c,a as e,b as n,d as o}from"./app-6WmjFGj_.js";const l={},i=e("h1",{id:"contact-us",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#contact-us","aria-hidden":"true"},"#"),n(" Contact Us")],-1),u=e("blockquote",null,[e("p",null,"If you have any questions during usage, or have any constructive suggestions, you can contact us.")],-1),h=e("p",null,"Join our developers group.",-1),d={href:"https://t.me/BetterAndroid",target:"_blank",rel:"noopener noreferrer"},_={href:"https://t.me/HighCapable_Dev",target:"_blank",rel:"noopener noreferrer"},p=e("strong",null,"Twitter",-1),f={href:"https://twitter.com/fankesyooni",target:"_blank",rel:"noopener noreferrer"},g=e("h2",{id:"help-with-maintenance",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#help-with-maintenance","aria-hidden":"true"},"#"),n(" Help with Maintenance")],-1),m=e("p",null,[n("Thank you for choosing and using "),e("code",null,"PanguText"),n(".")],-1),k=e("p",null,"If you have code-related suggestions and requests, you can submit a Pull Request on GitHub.",-1);function b(v,x){const t=r("ExternalLinkIcon");return s(),c("div",null,[i,u,h,e("ul",null,[e("li",null,[e("a",d,[n("Click to join Telegram group"),o(t)])]),e("li",null,[e("a",_,[n("Click to join Telegram group (Developer)"),o(t)])])]),e("p",null,[n("Find me on "),p,n(),e("a",f,[n("@fankesyooni"),o(t)]),n(".")]),g,m,k])}const T=a(l,[["render",b],["__file","contacts.html.vue"]]);export{T as default};

View File

@@ -0,0 +1 @@
import{_ as o,r as l,o as a,c as s,a as e,b as t,d as r}from"./app-6WmjFGj_.js";const c={},_=e("h1",{id:"联系我们",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#联系我们","aria-hidden":"true"},"#"),t(" 联系我们")],-1),i=e("blockquote",null,[e("p",null,"如在使用中有任何问题,或有任何建设性的建议,都可以联系我们。")],-1),h=e("p",null,"加入我们的开发者群组。",-1),d={href:"https://t.me/BetterAndroid",target:"_blank",rel:"noopener noreferrer"},u={href:"https://t.me/HighCapable_Dev",target:"_blank",rel:"noopener noreferrer"},p={href:"https://qm.qq.com/cgi-bin/qm/qr?k=Pnsc5RY6N2mBKFjOLPiYldbAbprAU3V7&jump_from=webapi&authKey=X5EsOVzLXt1dRunge8ryTxDRrh9/IiW1Pua75eDLh9RE3KXE+bwXIYF5cWri/9lf",target:"_blank",rel:"noopener noreferrer"},f=e("strong",null,"酷安",-1),m={href:"http://www.coolapk.com/u/876977",target:"_blank",rel:"noopener noreferrer"},b=e("h2",{id:"助力维护",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#助力维护","aria-hidden":"true"},"#"),t(" 助力维护")],-1),g=e("p",null,[t("感谢您选择并使用 "),e("code",null,"PanguText"),t(",如有代码相关的建议和请求,可在 GitHub 提交 Pull Request。")],-1);function k(x,q){const n=l("ExternalLinkIcon");return a(),s("div",null,[_,i,h,e("ul",null,[e("li",null,[e("a",d,[t("点击加入 Telegram 群组"),r(n)])]),e("li",null,[e("a",u,[t("点击加入 Telegram 群组 (开发者)"),r(n)])]),e("li",null,[e("a",p,[t("点击加入 QQ 群 (开发者)"),r(n)])])]),e("p",null,[t("在 "),f,t(" 找到我 "),e("a",m,[t("@星夜不荟"),r(n)]),t("。")]),b,g])}const w=o(c,[["render",k],["__file","contacts.html.vue"]]);export{w as default};

View File

@@ -0,0 +1 @@
const t=JSON.parse('{"key":"v-6cf86266","path":"/zh-cn/about/contacts.html","title":"联系我们","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"助力维护","slug":"助力维护","link":"#助力维护","children":[]}],"git":{"updatedTime":1739127925000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":1}]},"filePathRelative":"zh-cn/about/contacts.md"}');export{t as data};

View File

@@ -0,0 +1 @@
const t=JSON.parse('{"key":"v-193cf592","path":"/en/about/contacts.html","title":"Contact Us","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Help with Maintenance","slug":"help-with-maintenance","link":"#help-with-maintenance","children":[]}],"git":{"updatedTime":1754157305000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":3}]},"filePathRelative":"en/about/contacts.md"}');export{t as data};

View File

@@ -0,0 +1 @@
const s="/PanguText/images/demo_01.png",a="/PanguText/images/demo_02.gif";export{s as _,a};

View File

@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-3106ca14","path":"/zh-cn/about/future.html","title":"展望未来","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"未来的计划","slug":"未来的计划","link":"#未来的计划","children":[{"level":3,"title":"SpannableString 的局限性","slug":"spannablestring-的局限性","link":"#spannablestring-的局限性","children":[]},{"level":3,"title":"Jetpack Compose 计划","slug":"jetpack-compose-计划","link":"#jetpack-compose-计划","children":[]}]}],"git":{"updatedTime":1739127925000,"contributors":[{"name":"fankesyooni","email":"qzmmcn@163.com","commits":1}]},"filePathRelative":"zh-cn/about/future.md"}');export{e as data};

Some files were not shown because too many files have changed in this diff Show More