<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          自學(xué)鴻蒙應(yīng)用開發(fā)(30)- 自定義UI組件(1)

          任何一種開發(fā)工具也不可能為開發(fā)者提供所有的組件,根據(jù)現(xiàn)有組件定義自己的組件也就成為必需。接下來的幾篇文章我們定義一個多層圓弧形進度條。本文是第一篇。


          定義組件類

          首先定義一個Component的派生類并簡單地定義幾個構(gòu)造函數(shù)。

          package com.components.cusomized;
          import ohos.agp.components.AttrSet;import ohos.agp.components.Component;import ohos.agp.render.Canvas;import ohos.agp.utils.Color;import ohos.app.Context;import ohos.hiviewdfx.HiLog;import ohos.hiviewdfx.HiLogLabel;import ohos.multimodalinput.event.TouchEvent;
          public class MultiRoundProgressBar extends Component { // HiLogLabel private static final HiLogLabel Label = new HiLogLabel(HiLog.LOG_APP, 0x00101, "MultiRoundProgressBar");
          public MultiRoundProgressBar(Context context) { super(context); }
          public MultiRoundProgressBar(Context context, AttrSet attrSet) { super(context, attrSet); }
          public MultiRoundProgressBar(Context context, AttrSet attrSet, String styleName) { super(context, attrSet, styleName); }
          public MultiRoundProgressBar(Context context, AttrSet attrSet, int resId) { super(context, attrSet, resId); }}

          這個目前沒有任何功能,只是先占一個地方。稍微需要注意一下的是它所屬的package為:com.components.cusomized。


          使用自定義組件

          可以像鴻蒙原生組件一樣使用自定義組件:

          <?xml version="1.0" encoding="utf-8"?><DirectionalLayout    xmlns:ohos="http://schemas.huawei.com/res/ohos"    ohos:height="match_parent"    ohos:width="match_parent"    ohos:orientation="vertical">    <Text        ohos:id="$+id:text_helloworld"        ohos:height="match_content"        ohos:width="match_content"        ohos:background_element="$graphic:background_ability_main"        ohos:layout_alignment="horizontal_center"        ohos:text="$string:HelloWorld"        ohos:text_size="50"        />    <com.components.cusomized.MultiRoundProgressBar        ohos:id="$+id:mrprogressId"        ohos:height="match_parent"        ohos:width="match_parent"        ohos:background_element="#00FF00"        /></DirectionalLayout>

          代碼第16行通過package+類名的方式使用自定義組件。


          顯示效果

          下圖中綠色部分就是自定義組件的表示區(qū)域。

          下一篇文章我們繼續(xù)說明如何為自定義組件定義描畫動作。


          作者著作介紹

          《實戰(zhàn)Python設(shè)計模式》是作者去年3月份出版的技術(shù)書籍,該書利用Python 的標(biāo)準(zhǔn)GUI 工具包tkinter,通過可執(zhí)行的示例對23 個設(shè)計模式逐個進行說明。這樣一方面可以使讀者了解真實的軟件開發(fā)工作中每個設(shè)計模式的運用場景和想要解決的問題;另一方面通過對這些問題的解決過程進行說明,讓讀者明白在編寫代碼時如何判斷使用設(shè)計模式的利弊,并合理運用設(shè)計模式。

          對設(shè)計模式感興趣而且希望隨學(xué)隨用的讀者通過本書可以快速跨越從理解到運用的門檻;希望學(xué)習(xí)Python GUI 編程的讀者可以將本書中的示例作為設(shè)計和開發(fā)的參考;使用Python 語言進行圖像分析、數(shù)據(jù)處理工作的讀者可以直接以本書中的示例為基礎(chǔ),迅速構(gòu)建自己的系統(tǒng)架構(gòu)。




          覺得本文有幫助?請分享給更多人。

          關(guān)注微信公眾號【面向?qū)ο笏伎肌枯p松學(xué)習(xí)每一天!

          面向?qū)ο箝_發(fā),面向?qū)ο笏伎迹?/span>




          瀏覽 86
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美性爱淫秽视频 | 蜜桃传媒在线观看网站 | 青娱乐av| 精品无码少妇一区二区三区 | 在线观看无码高清视频 |