(Translated by https://www.hiragana.jp/)
GitHub - czy1121/bk: BKDrawable/BKFrameLayout/BKLinearLayout/BKTextView 可自定义 背景色/渐变/圆角/阴影/描边
Skip to content
/ bk Public

BKDrawable/BKFrameLayout/BKLinearLayout/BKTextView てい背景はいけいしょく/渐变/圆角/阴影/描边

License

Notifications You must be signed in to change notification settings

czy1121/bk

Repository files navigation

bk

BKDrawable/BKFrameLayout/BKLinearLayout/BKTextView てい背景はいけいしょく/渐变/圆角/阴影/描边

  • 支持しじ 背景はいけいしょく[正常せいじょう/选中/按下/きんよう]
  • 支持しじ 渐变[类型/半径はんけい/方向ほうこう/中心ちゅうしんてんXYすわ标(0.0~1.0)/颜色(开始-中心ちゅうしん-结束)]
  • 支持しじ 圆角[半径はんけい位置いち],すえ宽高动计さん圆角半径はんけい min(height,width) / 2
  • 支持しじ 阴影[颜色/半径はんけい/边距(よう纳阴かげてきそら间)]
    • 阴影颜色だま认自动从背景はいけいある描边获取,也可以手动设おけ
    • 阴影绘制算法さんぽう ShadowRenderer
  • 支持しじ 描边[颜色/あつ/きょ线长/きょ线间すき]
  • BKTextView 支持しじ 图标[图标/尺寸しゃくすん/边距/着色ちゃくしょく/位置いち],类似 MaterialButton てき图标

screenshot

引入

repositories {
    maven { url "https://gitee.com/ezy/repo/raw/cosmo/"}
}
dependencies {
    implementation "me.reezy.cosmo:bk:0.8.0"
}

BKDrawable 属性ぞくせい

<declare-styleable name="Background">

    <!-- 背景はいけいしょく(正常せいじょう/选中/按下/きんよう) -->
    <attr name="bkBackgroundColor" format="color" />
    <attr name="bkBackgroundColorSelected" format="color" />
    <attr name="bkBackgroundColorPressed" format="color" />
    <attr name="bkBackgroundColorDisabled" format="color" />

    <!-- 描边(颜色/あつ/きょ线长/きょ线间すき) -->
    <attr name="bkStrokeColor" format="color" />
    <attr name="bkStrokeColorSelected" format="color" />
    <attr name="bkStrokeColorPressed" format="color" />
    <attr name="bkStrokeColorDisabled" format="color" />
    <attr name="bkStrokeWidth" format="dimension" />
    <attr name="bkStrokeDashWidth" format="dimension" />
    <attr name="bkStrokeDashGap" format="dimension" />

    <!-- 圆角半径はんけい -->
    <attr name="bkCornerRadius" format="dimension">
        <!-- すえ宽高动计さん圆角半径はんけい min(height,width) / 2-->
        <enum name="auto" value="-1" />
    </attr>
    <!-- 圆角位置いち -->
    <attr name="bkCornerPosition" format="enum">
        <enum name="normal" value="0" />
        <enum name="topLeft" value="1" />
        <enum name="topRight" value="2" />
        <enum name="bottomLeft" value="3" />
        <enum name="bottomRight" value="4" />
        <enum name="sideLeft" value="5" />
        <enum name="sideRight" value="6" />
        <enum name="sideTop" value="7" />
        <enum name="sideBottom" value="8" />
        <enum name="diagonalDownward" value="9" />
        <enum name="diagonalUpward" value="10" />
    </attr>

    <!--背景はいけい渐变类型-->
    <attr name="bkGradientType" format="enum">
        <enum name="linear" value="0" />
        <enum name="radial" value="1" />
        <enum name="sweep" value="2" />
    </attr>
    <!--渐变中心ちゅうしんてんXすわ标(0-1)-->
    <attr name="bkGradientCenterX" format="float" />
    <!--渐变中心ちゅうしんてんYすわ标(0-1)-->
    <attr name="bkGradientCenterY" format="float" />
    <!--渐变半径はんけい-->
    <attr name="bkGradientRadius" format="dimension" />
    <!--渐变方向ほうこう-->
    <attr name="bkGradientOrientation" format="enum">
        <enum name="TOP_BOTTOM" value="0" />
        <enum name="TR_BL" value="1" />
        <enum name="RIGHT_LEFT" value="2" />
        <enum name="BR_TL" value="3" />
        <enum name="BOTTOM_TOP" value="4" />
        <enum name="BL_TR" value="5" />
        <enum name="LEFT_RIGHT" value="6" />
        <enum name="TL_BR" value="7" />
    </attr>
    <!--渐变颜色-->
    <attr name="bkGradientColors" format="string" />
    <!--渐变开始颜色-->
    <attr name="bkGradientStartColor" format="color" />
    <!--渐变中心ちゅうしん颜色-->
    <attr name="bkGradientCenterColor" format="color" />
    <!--渐变结尾颜色-->
    <attr name="bkGradientEndColor" format="color" />


    <!-- 阴影半径はんけい -->
    <attr name="bkShadowRadius" format="dimension" />
    <!-- 阴影颜色 -->
    <attr name="bkShadowColor" format="color" />
    <!-- 阴影边距 -->
    <attr name="bkShadowPadding" format="dimension" />
    <attr name="bkShadowPaddingLeft" format="dimension" />
    <attr name="bkShadowPaddingTop" format="dimension" />
    <attr name="bkShadowPaddingRight" format="dimension" />
    <attr name="bkShadowPaddingBottom" format="dimension" />

    <!-- 内容ないようない边距 -->
    <attr name="bkContentPadding" format="dimension" />
    <attr name="bkContentPaddingLeft" format="dimension" />
    <attr name="bkContentPaddingTop" format="dimension" />
    <attr name="bkContentPaddingRight" format="dimension" />
    <attr name="bkContentPaddingBottom" format="dimension" />


</declare-styleable>

BKTextView 图标属性ぞくせい

<declare-styleable name="BKTextView">

    <!-- icon -->
    <attr name="bkIcon" format="reference" />
    <attr name="bkIconSize" format="dimension" />
    <attr name="bkIconPadding" format="dimension" />
    <attr name="bkIconTint" format="color" />
    <attr name="bkIconTintMode">
        <enum name="src_over" value="3" />
        <enum name="src_in" value="5" />
        <enum name="src_atop" value="9" />
        <enum name="multiply" value="14" />
        <enum name="screen" value="15" />
        <enum name="add" value="16" />
    </attr>
    <attr name="bkIconGravity">
        <enum name="start" value="0x1" />
        <enum name="textStart" value="0x2" />
        <enum name="end" value="0x3" />
        <enum name="textEnd" value="0x4" />
        <enum name="top" value="0x10" />
        <enum name="textTop" value="0x20" />
    </attr>

</declare-styleable>

LICENSE

The Component is open-sourced software licensed under the Apache license.

About

BKDrawable/BKFrameLayout/BKLinearLayout/BKTextView てい背景はいけいしょく/渐变/圆角/阴影/描边

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages