import{_ as t,r as l,o as i,c as r,b as n,d as e,a,e as o}from"./app--CGKFO0X.js";const p={},d=o('<h1 id="hikage-extension-betterandroid" tabindex="-1"><a class="header-anchor" href="#hikage-extension-betterandroid" aria-hidden="true">#</a> hikage-extension-betterandroid</h1><p><img src="https://img.shields.io/maven-central/v/com.highcapable.hikage/hikage-extension-betterandroid?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%2Fhikage%2Fhikage-extension-betterandroid%2Fmaven-metadata.xml&amp;logo=apachemaven&amp;logoColor=orange&amp;label=highcapable-maven-release&amp;style=flat-squares" 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>',2),c={href:"https://github.com/BetterAndroid/BetterAndroid",target:"_blank",rel:"noopener noreferrer"},h=o(`<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="version-catalog-recommended" tabindex="-1"><a class="header-anchor" href="#version-catalog-recommended" aria-hidden="true">#</a> Version Catalog (Recommended)</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;">hikage-extension-betterandroid = </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;">hikage-extension-betterandroid = { module = </span><span style="color:#96D0FF;">&quot;com.highcapable.hikage:hikage-extension-betterandroid&quot;</span><span style="color:#ADBAC7;">, version.ref = </span><span style="color:#96D0FF;">&quot;hikage-extension-betterandroid&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.hikage.extension.betterandroid)</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.hikage:hikage-extension-betterandroid:&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>`,13),u={href:"https://betterandroid.github.io/Hikage/KDoc/hikage-extension-betterandroid",target:"_blank",rel:"noopener noreferrer"},y=n("h3",{id:"adapter-extension",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#adapter-extension","aria-hidden":"true"},"#"),e(" Adapter Extension")],-1),m={href:"https://betterandroid.github.io/BetterAndroid/en/library/ui-component-adapter",target:"_blank",rel:"noopener noreferrer"},A=o(`<p>It uses the <code>ViewHolderDelegate</code> provided by BetterAndroid to create extension methods.</p><p>Here is a simple example based on <code>RecyclerView</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 the dataset you need to bind to.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> listData </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#DCBDFB;">ArrayList</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">MyEntity</span><span style="color:#ADBAC7;">&gt;()</span></span>
<span class="line"><span style="color:#768390;">// Create and bind to a custom RecyclerView.Adapter.</span></span>
<span class="line"><span style="color:#F47067;">val</span><span style="color:#ADBAC7;"> adapter </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> recyclerView.</span><span style="color:#DCBDFB;">bindAdapter</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">MyEntity</span><span style="color:#ADBAC7;">&gt; {</span></span>
<span class="line"><span style="color:#ADBAC7;">    </span><span style="color:#DCBDFB;">onBindData</span><span style="color:#ADBAC7;"> { listData }</span></span>
<span class="line"><span style="color:#ADBAC7;">    </span><span style="color:#DCBDFB;">onBindItemView</span><span style="color:#ADBAC7;">(</span></span>
<span class="line"><span style="color:#ADBAC7;">        Hikageable </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> {</span></span>
<span class="line"><span style="color:#ADBAC7;">            </span><span style="color:#DCBDFB;">TextView</span><span style="color:#ADBAC7;">(id </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">&quot;text_view&quot;</span><span style="color:#ADBAC7;">) {</span></span>
<span class="line"><span style="color:#ADBAC7;">                text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">&quot;Hello, World!&quot;</span></span>
<span class="line"><span style="color:#ADBAC7;">                textSize </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">16f</span></span>
<span class="line"><span style="color:#ADBAC7;">            }</span></span>
<span class="line"><span style="color:#ADBAC7;">        }</span></span>
<span class="line"><span style="color:#ADBAC7;">    ) { hikage, entity, position </span><span style="color:#F47067;">-&gt;</span></span>
<span class="line"><span style="color:#ADBAC7;">        hikage.</span><span style="color:#DCBDFB;">get</span><span style="color:#ADBAC7;">&lt;</span><span style="color:#F69D50;">TextView</span><span style="color:#ADBAC7;">&gt;(</span><span style="color:#96D0FF;">&quot;text_view&quot;</span><span style="color:#ADBAC7;">).text </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> entity.name</span></span>
<span class="line"><span style="color:#ADBAC7;">    }</span></span>
<span class="line"><span style="color:#ADBAC7;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,4);function g(b,v){const s=l("ExternalLinkIcon");return i(),r("div",null,[d,n("p",null,[e("This is a Hikage extension dependency for "),n("a",c,[e("BetterAndroid"),a(s)]),e(" UI component-related features.")]),h,n("p",null,[e("You can view the KDoc "),n("a",u,[e("click here"),a(s)]),e(".")]),y,n("p",null,[e("Hikage provides layout extension function for BetterAndroid's "),n("a",m,[e("Adapter"),a(s)]),e(", you can use the Hikage layout directly on the original extension method of the adapter.")]),A])}const B=t(p,[["render",g],["__file","hikage-extension-betterandroid.html.vue"]]);export{B as default};
