<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 1. 前言 為了實現自定義`View`,我們需要再次回顧一下之前的博客:https://blog.csdn.net/qq_26460841/article/details/110478919 簡單來說,分為下面幾個步驟: - 定義一個繼承自`View`的類,或者也可以使用其對應的子類; - 復寫`onDraw`方法; - 應用在`xml`布局文件中; # 2. 自定義View 首先在`res`下的`values`文件夾的`style.xml`文件: ~~~ <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="CategoryItem"> <attr name="CategoryItem_Choosed" format="boolean" /> <!--是否選中--> <attr name="CategoryItem_Radius" format="integer"/> <!--圓角半徑--> <attr name="CategoryItem_ImgSrc" format="integer"/> <!--圖片資源--> <attr name="CategoryItem_Text" format="string"/> <!--文本--> </declare-styleable> </resources> ~~~ 然后新建一個類,繼承自`View`, 這里需要注意`styleable`的名字和類的名字需要一樣,比如下面的代碼: ~~~ class CategoryItem: View { // 自定義屬性 var isChoosed: Boolean = false var radius: Int = 5 var imgSrc: Int = R.drawable.ic_baseline_bookmarks_24 var text: String = MFConst.NO_CATEGORY constructor(context: Context): super(context) constructor(context: Context, attributeSet: AttributeSet): super(context, attributeSet){ val typedArray: TypedArray = context.obtainStyledAttributes(attributeSet, R.styleable.CategoryItem) typedArray.apply { isChoosed = getBoolean(R.styleable.CategoryItem_CategoryItem_Choosed, isChoosed) // 獲取值,沒有就設置默認值4 radius = getInt(R.styleable.CategoryItem_CategoryItem_Radius, radius) imgSrc = getInt(R.styleable.CategoryItem_CategoryItem_ImgSrc, imgSrc) text = getString(R.styleable.CategoryItem_CategoryItem_Text)?: text } typedArray.recycle() // 使用TypedArray最后一定需要回收 } override fun onDraw(canvas: Canvas?) { super.onDraw(canvas) } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看