在GitHub上的Android開原始碼SuperTextView的使用

奮鬥年輕人發表於2016-11-07


   
每週一會分享一篇GitHub開源的專案

SuperTextView

一個功能強大的TextView,可以滿足日常大部分佈局方式,開發者可已自行組合屬性配置出屬於自己風格的樣式!

效果圖


基本使用

1.新增Gradle依賴

先在 build.gradle 的 repositories 新增:

 allprojects {
     repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

然後在dependencies新增:

    dependencies {
    ...
    compile 'com.allen.supertextview:supertextview:1.0.3'
    }

2.佈局中如何使用

    <com.allen.supertextviewlibrary.SuperTextView
            android:id="@+id/super_tv"
            android:layout_width="match_parent"
            android:layout_height="80dp"
            stv:sLeftBottomTextColor2="@color/colorAccent"
            stv:sLeftBottomTextString="招商銀行(8888)"
            stv:sLeftBottomTextString2="限額說明>>"
            stv:sLeftIconRes="@drawable/bank_zhao_shang"
            stv:sLeftTopTextString="銀行卡支付"
            stv:sRightCheckBoxRes="@drawable/circular_check_bg"
            stv:sRightCheckBoxShow="true"
            stv:sLineShow="bottom"
             />
    注意:
            1、上下的線可以通過   sLineShow 設定  有四種顯示方式 none,top,bottom,both
            2、通過設定 sUseRipple=true 開啟水波效果

3.程式碼中如何使用

   /**
 * 可以通過鏈式設定大部分常用的屬性值
 */
    superTextView.setLeftIcon(drawable)
            .setLeftString("")
            .setLeftTVColor(0)
            .setLeftTopString("")
            .setLeftTopTVColor(0)
            .setLeftBottomString("")
            .setLeftBottomTVColor(0)
            .setLeftBottomString2("")
            .setLeftBottomTVColor2(0)
            .setRightString("")
            .setRightTVColor(0)
            .setCbChecked(true)
            .setCbBackground(drawable)
            .setRightIcon(drawable)
            .setRightString("")
            .setRightTVColor(0)
            .setLeftString("")
            .setOnSuperTextViewClickListener(new SuperTextView.OnSuperTextViewClickListener() {
                @Override
                public void onSuperTextViewClick() {
                    super.onSuperTextViewClick();
                    //do something
                }

                @Override
                public void onLeftTopClick() {
                    super.onLeftTopClick();
                    //do something
                }

                @Override
                public void onLeftBottomClick() {
                    super.onLeftBottomClick();
                    //do something
                }

                @Override
                public void onLeftBottomClick2() {
                    super.onLeftBottomClick2();
                    //do something
                }
            });

4.點選事件(可根據需求選擇實現某個點選事件)

    superTextView.setOnSuperTextViewClickListener(new SuperTextView.OnSuperTextViewClickListener() {
                @Override
                public void onSuperTextViewClick() {
                    super.onSuperTextViewClick();
                    //do something
                }

                @Override
                public void onLeftTopClick() {
                    super.onLeftTopClick();
                    //do something
                }

                @Override
                public void onLeftBottomClick() {
                    super.onLeftBottomClick();
                    //do something
                }

                @Override
                public void onLeftBottomClick2() {
                    super.onLeftBottomClick2();
                    //do something
                }
            });

5.屬性說明(以下屬性全部可以通過xml檔案配置和程式碼進行設定)

    <declare-styleable name="SuperTextView">
    <attr name="sLeftIconRes" format="reference"/>
    <attr name="sRightIconRes" format="reference"/>
    <attr name="sRightCheckBoxRes" format="reference"/>

    <attr name="sLeftTextString" format="string"/>
    <attr name="sCenterTextString" format="string"/>
    <attr name="sRightTextString" format="string"/>

    <attr name="sLeftTopTextString" format="string"/>
    <attr name="sLeftBottomTextString" format="string"/>
    <attr name="sLeftBottomTextString2" format="string"/>


    <attr name="sTopLineMargin" format="dimension"/>
    <attr name="sBottomLineMargin" format="dimension"/>
    <attr name="sBothLineMargin" format="dimension"/>

    <attr name="sLeftIconMarginLeft" format="dimension"/>
    <attr name="sLeftTextMarginLeft" format="dimension"/>

    <attr name="sLeftTopTextMarginLeft" format="dimension"/>
    <attr name="sLeftBottomTextMarginLeft" format="dimension"/>
    <attr name="sLeftBottomTextMarginLeft2" format="dimension"/>

    <attr name="sRightIconMarginRight" format="dimension"/>
    <attr name="sRightTextMarginRight" format="dimension"/>
    <attr name="sRightCheckBoxMarginRight" format="dimension"/>
    <attr name="sRightCheckBoxShow" format="boolean"/>
    <attr name="sIsChecked" format="boolean"/>
    <attr name="sUseRipple" format="boolean"/>

    <attr name="sLeftTextSize" format="dimension"/>
    <attr name="sLeftTopTextSize" format="dimension"/>
    <attr name="sLeftBottomTextSize" format="dimension"/>
    <attr name="sLeftBottomTextSize2" format="dimension"/>
    <attr name="sRightTextSize" format="dimension"/>
    <attr name="sCenterTextSize" format="dimension"/>

    <attr name="sBackgroundColor" format="color"/>
    <attr name="sLeftTextColor" format="color"/>
    <attr name="sLeftTopTextColor" format="color"/>
    <attr name="sLeftBottomTextColor" format="color"/>
    <attr name="sLeftBottomTextColor2" format="color"/>
    <attr name="sRightTextColor" format="color"/>
    <attr name="sCenterTextColor" format="color"/>

    <attr name="sLineShow" format="enum">
        <enum name="none" value="0"/>
        <enum name="top" value="1"/>
        <enum name="bottom" value="2"/>
        <enum name="both" value="3"/>
    </attr>

</declare-styleable> 

6.使用第三方庫(Picasso或者Glide)載入網路圖片

     Picasso.with(this)
     .load(url)
     .placeholder(R.drawable.head_default)
     .into((ImageView) superTextView.getView(SuperTextView.leftImageViewId));


獲取更多或者轉載請聯絡作者:QQ群322814924

   關注下面訂閱號可獲取最新的全套Android學習視訊

http://mp.weixin.qq.com/s?__biz=MzI0NDYzMzg0OQ==&mid=2247483715&idx=1&sn=afd9b944088ab259e69063780e69b72e&chksm=e95b98d5de2c11c3552e6b7ae571a3a635737097abc550f2e3532b88b7e8552e417938e37ef1&mpshare=1&scene=23&srcid=1107PLUws0A48nWoyc3ip2Jh#rd


相關文章