一个强大的SuperTextview

原文链接:http://p.codekk.com/detail/Android/lygttpod/SuperTextView

SuperTextView

项目地址:lygttpod/SuperTextView 

简介:一个功能强大的 TextView,可以满足日常大部分布局方式,开发者可已自行组合属性配置出属于自己风格的样式!

更多:作者   提 Bug   

标签:

TextView-

 Android Arsenal  

重磅推出 SuperTextView2.x 版本,属性参数相比 1.x 有些变化,1.x 的用户升级 2.x 的时候请注意

1、功能描述

SuperTextView是一个功能强大的 View,可以满足日常大部分布局样式,开发者可已自行组合属性配置出属于自己风格的样式!可能描述起来没有概念,还是直接看效果图吧!

SuperButton拥有 shape 文件的大部分属性,从此写 shape 属性变得非常简单

CommonTextView只是 SuperTextView 的逻辑简化,其实功能并不差少哦,有兴趣的可以看看

如果觉得对你有用的话,点一下右上的星星赞一下吧!

2、 效果 Demo 下载地址

3、如何使用

3.1、Android Studio 导入方法,添加 Gradle 依赖

先在项目根目录的 build.gradle 的 repositories 添加:

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

然后在 dependencies 添加:

        dependencies {
        ...
        compile 'com.github.lygttpod:SuperTextView:2.1.6'
        }

重写 SuperTextView,功能更加全面,部分方法及属性有变更,1.x 版本的老用户请注意

3.2、项目中如何使用

3.2.1、布局中如何使用(示例中只列出部分属性,开发者可根据具体需求使用其他属性)

            <com.allen.library.SuperTextView
                android:layout_width="match_parent"
                android:layout_height="80dp"
                stv:sCenterBottomTextColor="@color/colorAccent"
                stv:sCenterBottomTextString="限额说明>>"
                stv:sCenterTopTextString=" "
                stv:sCenterViewGravity="left_center"
                stv:sLeftBottomTextString="招商银行(8888)"
                stv:sLeftIconRes="@drawable/bank_zhao_shang"
                stv:sLeftTopTextString="银行卡支付"
                stv:sLeftViewGravity="left_center"
                stv:sRightCheckBoxRes="@drawable/circular_check_bg"
                stv:sRightViewType="checkbox" />
        注意:
                1、上下的线可以通过   sDividerLineType 设置  有四种显示方式 none,top,bottom,both
                2、通过设置 sUseRipple=true 开启水波效果

3.2.2、代码中如何使用

       /**
     * 可以通过链式设置大部分常用的属性值
     */
   superTextView.setLeftTopString("")
                .setLeftString("")
                .setLeftBottomString("")
                .setCenterTopString("")
                .setCenterString("")
                .setCenterBottomString("")
                .setRightTopString("")
                .setRightString("")
                .setRightBottomString("")
                .setLeftIcon(0)
                .setRightIcon(0)
                .setCbChecked(true)
                .setCbBackground(null)
                .setLeftTvDrawableLeft(null)
                .setLeftTvDrawableRight(null)
                .setCenterTvDrawableLeft(null)
                .setCenterTvDrawableRight(null)
                .setRightTvDrawableLeft(null)
                .setRightTvDrawableRight(null);

   superTextView.setShapeCornersRadius(20)
                .setShapeCornersTopLeftRadius(20)
                .setShapeCornersBottomLeftRadius(20)
                .setShapeCornersTopRightRadius(20)
                .setShapeCornersBottomRightRadius(20)
                .setShapeStrokeColor(getResources().getColor(R.color.colorPrimary))
                .setShapeStrokeWidth(1)
                .setShapeSrokeDashWidth(1)
                .setShapeStrokeDashGap(5)
                .setShapeSolidColor(getResources().getColor(R.color.white))
                .setShapeSelectorNormalColor(getResources().getColor(R.color.red_btn))
                .setShapeSelectorPressedColor(getResources().getColor(R.color.gray))
                .useShape();//设置完各个参数之后这句调用才生效

3.2.3 点击事件(可根据需求选择实现单个或者多个点击事件)

        /**
         * 根据实际需求对需要的 View 设置点击事件
         */
        /**
         * 根据实际需求对需要的 View 设置点击事件
         */
        superTextView.setOnSuperTextViewClickListener(new SuperTextView.OnSuperTextViewClickListener() {
            @Override
            public void onClickListener(SuperTextView superTextView) {
                string = "整个 item 的点击事件";
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setLeftTopTvClickListener(new SuperTextView.OnLeftTopTvClickListener() {
            @Override
            public void onClickListener() {
                string = superTextView.getLeftTopString();
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setLeftTvClickListener(new SuperTextView.OnLeftTvClickListener() {
            @Override
            public void onClickListener() {
                string = superTextView.getLeftString();
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setLeftBottomTvClickListener(new SuperTextView.OnLeftBottomTvClickListener() {
            @Override
            public void onClickListener() {
                string = superTextView.getLeftBottomString();
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setCenterTopTvClickListener(new SuperTextView.OnCenterTopTvClickListener() {
            @Override
            public void onClickListener() {
                string = superTextView.getCenterTopString();
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setCenterTvClickListener(new SuperTextView.OnCenterTvClickListener() {
            @Override
            public void onClickListener() {
                string = superTextView.getCenterString();
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setCenterBottomTvClickListener(new SuperTextView.OnCenterBottomTvClickListener() {
            @Override
            public void onClickListener() {
                string = superTextView.getCenterBottomString();
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setRightTopTvClickListener(new SuperTextView.OnRightTopTvClickListener() {
            @Override
            public void onClickListener() {
                string = superTextView.getRightTopString();
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setRightTvClickListener(new SuperTextView.OnRightTvClickListener() {
            @Override
            public void onClickListener() {
                string = superTextView.getRightString();
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setRightBottomTvClickListener(new SuperTextView.OnRightBottomTvClickListener() {
            @Override
            public void onClickListener() {
                string = superTextView.getRightBottomString();
                Toast.makeText(ClickActivity.this, string, Toast.LENGTH_SHORT).show();
            }
        }).setLeftImageViewClickListener(new SuperTextView.OnLeftImageViewClickListener() {
            @Override
            public void onClickListener(ImageView imageView) {
                Toast.makeText(ClickActivity.this, "左边图片", Toast.LENGTH_SHORT).show();
            }
        }).setRightImageViewClickListener(new SuperTextView.OnRightImageViewClickListener() {
            @Override
            public void onClickListener(ImageView imageView) {
                Toast.makeText(ClickActivity.this, "右边图片", Toast.LENGTH_SHORT).show();
            }
        });

        superTextView_cb.setOnSuperTextViewClickListener(new SuperTextView.OnSuperTextViewClickListener() {
            @Override
            public void onClickListener(SuperTextView superTextView) {
                superTextView.setCbChecked(!superTextView.getCbisChecked());
            }
        }).setCheckBoxCheckedChangeListener(new SuperTextView.OnCheckBoxCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(ClickActivity.this, "" + isChecked, Toast.LENGTH_SHORT).show();
            }
        });

        superTextView_switch.setOnSuperTextViewClickListener(new SuperTextView.OnSuperTextViewClickListener() {
            @Override
            public void onClickListener(SuperTextView superTextView) {
                superTextView.setSwitchIsChecked(!superTextView.getSwitchIsChecked());
            }
        }).setSwitchCheckedChangeListener(new SuperTextView.OnSwitchCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(ClickActivity.this, "" + isChecked, Toast.LENGTH_SHORT).show();
            }
        });

3.2.4 使用第三方库(Picasso 或者 Glide)加载网络图片

        String url1 = "https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=3860616424,1789830124&fm=80&w=179&h=119&img.PNG";
        String url2 = "https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=219781665,3032880226&fm=80&w=179&h=119&img.JPEG";
        String url3 = "https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=3860616424,1789830124&fm=80&w=179&h=119&img.PNG";

        Picasso.with(this)
                .load(url1)
                .placeholder(R.drawable.head_default)
                .into(superTextView.getLeftIconIV());
        Glide.with(this)
                .load(url2)
                .placeholder(R.drawable.head_default)
                .fitCenter()
                .into(superTextView2.getRightIconIV());

        Glide.with(this)
                .load(url3)
                .placeholder(R.drawable.head_default)
                .into(new SimpleTarget<GlideDrawable>() {
                    @Override
                    public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {
                        superTextView3.setRightTvDrawableRight(resource);
                    }
                });

3.2.5、属性说明(以下属性全部可以通过 xml 文件配置和代码进行设置)

属性名字段描述默认值
sLeftTextStringstring左边文字字符串
sLeftTopTextStringstring左上文字字符串
sLeftBottomTextStringstring左下文字字符串
sCenterTextStringstring中间文字字符串
sCenterTopTextStringstring中上文字字符串
sCenterBottomTextStringstring中下文字字符串
sRightTextStringstring右边文字字符串
sRightTopTextStringstring右上文字字符串
sRightBottomTextStringstring右下文字字符串
sLeftTextColorcolor左边文字颜色默认 0xFF373737
sLeftTopTextColorcolor左上文字颜色默认 0xFF373737
sLeftBottomTextColorcolor左下文字颜色默认 0xFF373737
sCenterTextColorcolor中间文字颜色默认 0xFF373737
sCenterTopTextColorcolor中上文字颜色默认 0xFF373737
sCenterBottomTextColorcolor中下文字颜色默认 0xFF373737
sRightTextColorcolor左边文字颜色默认 0xFF373737
sRightTopTextColorcolor右上文字颜色默认 0xFF373737
sRightBottomTextColorcolor右下文字颜色默认 0xFF373737
sLeftTextSizedimension左边字体大小默认 15sp
sLeftTopTextSizedimension左上字体大小默认 15sp
sLeftBottomTextSizedimension左下字体大小默认 15sp
sCenterTextSizedimension中间字体大小默认 15sp
sCenterTopTextSizedimension中上字体大小默认 15sp
sCenterBottomTextSizedimension中下字体大小默认 15sp
sRightTextSizedimension右边字体大小默认 15sp
sRightTopTextSizedimension右上字体大小默认 15sp
sRightBottomTextSizedimension右下字体大小默认 15sp
sLeftLinesinteger左边文字显示行数默认不设置
sLeftTopLinesinteger左上文字显示行数默认不设置
sLeftBottomLinesinteger左下文字显示行数默认不设置
sCenterLinesinteger中间文字显示行数默认不设置
sCenterTopLinesinteger中上文字显示行数默认不设置
sCenterBottomLinesinteger中下文字显示行数默认不设置
sRightLinesinteger右边文字显示行数默认不设置
sRightTopLinesinteger右上文字显示行数默认不设置
sRightBottomLinesinteger右下文字显示行数默认不设置
sLeftMaxEmsinteger左边文字显示个数默认不设置
sLeftTopMaxEmsinteger左上文字显示个数默认不设置
sLeftBottomMaxEmsinteger左下文字显示个数默认不设置
sCenterMaxEmsinteger中间文字显示个数默认不设置
sCenterTopMaxEmsinteger中上文字显示个数默认不设置
sCenterBottomMaxEmsinteger中下文字显示个数默认不设置
sRightMaxEmsinteger右边文字显示个数默认不设置
sRightTopMaxEmsinteger右上文字显示个数默认不设置
sRightBottomMaxEmsinteger右下文字显示个数默认不设置
sLeftViewGravityenum左边文字对齐方式
left_center(左对齐)
center(居中)
right_center(右对齐)
默认 center
sCenterViewGravityenum中间文字对齐方式
left_center(左对齐)
center(居中)
right_center(右对齐)
默认 center
sRightViewGravityenum右边文字对齐方式
left_center(左对齐)
center(居中)
right_center(右对齐)
默认 center
sLeftTvDrawableLeftreference左边 TextView 左侧的 drawable
sLeftTvDrawableRightreference左边 TextView 右侧的 drawable
sCenterTvDrawableLeftreference中间 TextView 左侧的 drawable
sCenterTvDrawableRightreference中间 TextView 右侧的 drawable
sRightTvDrawableLeftreference右边 TextView 左侧的 drawable
sRightTvDrawableRightreference右边 TextView 右侧的 drawable
sLeftTvDrawableWidthdimension左边 TextView 的 drawable 的宽度
sLeftTvDrawableHeightdimension左边 TextView 的 drawable 的高度
sCenterTvDrawableWidthdimension中间 TextView 的 drawable 的宽度
sCenterTvDrawableHeightdimension中间 TextView 的 drawable 的高度
sRightTvDrawableWidthdimension右边 TextView 的 drawable 的宽度
sRightTvDrawableHeightdimension右边 TextView 的 drawable 的高度
sTextViewDrawablePaddingdimensionTextView 的 drawable 对应的 Padding默认 10dp
sLeftViewWidthdimension左边 textView 的宽度 为了中间文字左对齐的时候使用
sTopDividerLineMarginLRdimension上边分割线的 MarginLeft 和 MarginRight默认 0dp
sTopDividerLineMarginLeftdimension上边分割线的 MarginLeft默认 0dp
sTopDividerLineMarginRightdimension上边分割线的 MarginRight默认 0dp
sBottomDividerLineMarginLRdimension下边分割线的 MarginLeft 和 MarginRigh默认 0dp
sBottomDividerLineMarginLeftdimension下边分割线的 MarginLeft默认 0dp
sBottomDividerLineMarginRightdimension下边分割线的 MarginRight默认 0dp
sDividerLineColorcolor分割线的颜色默认 0xFFE8E8E8
sDividerLineHeightdimension分割线的高度默认 0.5dp
sDividerLineTypeenum分割线显示方式 
none(不显示分割线)
top(显示上边的分割线)
bottom(显示下边的分割线)
both(显示上下两条分割线)
默认 bottom
sLeftViewMarginLeftdimension左边 view 的 MarginLeft默认 10dp
sLeftViewMarginRightdimension左边 view 的 MarginRight默认 10dp
sCenterViewMarginLeftdimension中间 view 的 MarginLeft默认 10dp
sCenterViewMarginRightdimension中间 view 的 MarginRight默认 10dp
sRightViewMarginLeftdimension右边 view 的 MarginLeft默认 10dp
sRightViewMarginRightdimension右边 view 的 MarginRight默认 10dp
sLeftTextIsBoldboolean左边文字是否加粗默认 false(暂时去除此属性改为代码动态配置)
sLeftTopTextIsBoldboolean左上文字是否加粗默认 false(暂时去除此属性改为代码动态配置)
sLeftBottomTextIsBoldboolean左下文字是否加粗默认 false(暂时去除此属性改为代码动态配置)
sCenterTextIsBoldboolean中间文字是否加粗默认 false(暂时去除此属性改为代码动态配置)
sCenterTopTextIsBoldboolean中上文字是否加粗默认 false(暂时去除此属性改为代码动态配置)
sCenterBottomTextIsBoldboolean中下文字是否加粗默认 false(暂时去除此属性改为代码动态配置)
sRightTextIsBoldboolean右边文字是否加粗默认 false(暂时去除此属性改为代码动态配置)
sRightTopTextIsBoldboolean右上文字是否加粗默认 false(暂时去除此属性改为代码动态配置)
sRightBottomTextIsBoldboolean右下文字是否加粗默认 false(暂时去除此属性改为代码动态配置)
sLeftIconResreference左边图片资源 可以用来显示网络图片或者本地
sRightIconResreference右边图片资源 可以用来显示网络图片或者本地
sLeftIconWidthdimension左边图片资源的宽度 用于固定图片大小的时候使用
sLeftIconHeightdimension左边图片资源的高度 用于固定图片大小的时候使用
sRightIconWidthdimension右边图片资源的宽度 用于固定图片大小的时候使用
sRightIconHeightdimension右边图片资源的高度 用于固定图片大小的时候使用
sLeftIconMarginLeftdimension左边图片资源的 MarginLeft默认 10dp
sRightIconMarginRightdimension右边图片资源的 MarginLeft默认 10dp
sCenterSpaceHeightdimension上中下三行文字的间距默认 5dp
sRightCheckBoxResreference右边 CheckBox 的资源
sRightCheckBoxMarginRightdimension右边 CheckBox 的 MarginRight默认 10dp
sIsCheckedboolean右边 CheckBox 是否选中默认 false
sUseRippleboolean是否开启点击出现水波效果默认 true
sBackgroundDrawableResreferenceSuperTextView 的背景资源
sRightViewTypeenum右边显示的特殊 View
checkbox
switchBtn
默认都不显示
sRightSwitchMarginRightdimension右边 SwitchBtn 的 MarginRight默认 10dp
sSwitchIsCheckedboolean右边 SwitchBtn 是否选中默认 false
sTextOffstringTextOff默认""
sTextOnstringTextOn默认""
sSwitchMinWidthdimensionSwitchMinWidth系统默认
sSwitchPaddingdimensionSwitchPadding系统默认
sThumbTextPaddingdimensionThumbTextPadding系统默认
sThumbResourcereference右边 SwitchBtn 自定义选中资源系统默认
sTrackResourcereference右边 SwitchBtn 自定义未选中资源系统默认
sUseShapeboolean是否使用 shape 设置圆角及触摸反馈
设为 true 之后才能使用一下属性
默认 false
sShapeSolidColorcolor填充色默认 false
sShapeSelectorPressedColorcolor按下时候的颜色默认 0xffffffff
sShapeSelectorNormalColorcolor正常显示的颜色默认 0xffffffff
sShapeCornersRadiusdimension四个角的圆角半径默认 0dp
sShapeCornersTopLeftRadiusdimension左上角的圆角半径默认 0dp
sShapeCornersTopRightRadiusdimension右上角的圆角半径默认 0dp
sShapeCornersBottomLeftRadiusdimension左下角的圆角半径默认 0dp
sShapeCornersBottomRightRadiusdimension右下角的圆角半径默认 0dp
sShapeStrokeWidthdimension边框宽度默认 0dp
sShapeStrokeDashWidthdimension虚线宽度默认 0dp
sShapeStrokeDashGapdimension虚线间隙宽度默认 0dp
sShapeStrokeColorcolor边框颜色默认 0dp
sLeftTextBackgroundreference左边 textView 的背景
sCenterTextBackgroundreference中间 textView 的背景
sRightTextBackgroundreference右边 textView 的背景
sLeftTextGravityenum左边 TextView 内文字对齐方式
left(左对齐)
center(居中)
right(右对齐)
默认 left
sCenterTextGravityenum中间 TextView 内文字对齐方式
left(左对齐)
center(居中)
right(右对齐)
默认 left
sRightTextGravityenum右边 TextView 内文字对齐方式
left(左对齐)
center(居中)
right(右对齐)
默认 left
sLeftIconShowCircleboolean左边 ImageView 是否显示为圆形默认 false
sRightIconShowCircleboolean左边 ImageView 是否显示为圆形默认 false

黑格尔曾说过:存在即合理。SuperTextView 的出现应该就是某种需求下的产物。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个功能强大的TextView,可以满足日常大部分布局方式,开发者可已自行组合属性配置出属于自己风格的样式!     基本使用1.添加Gradle依赖    dependencies {     ...     compile 'com.allen.supertextview:supertextview:1.0.1'     }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>
简介欢迎使用SuperTextView,这篇文档将会向你展示如何使用这个控件来提高你构建项目的效率。CoverSuperTextView继承自TextView,它能够大量的减少布局的复杂程度,并且使得一些常见的效果变得十分容易实现且高效。同时,它内置了动画驱动,你只需要合理编写Adjuster,然后startAnim()就可以看到预期的动画效果。它仅仅是一个控件,所以你可以不费吹灰之力的在你的项目中集成使用。特点你从此不必再为背景图编写和管理大量文件了。重新优化的状态图功能使得你能够精确的控制状态图的大小,以及在SuperTextView中的位置。支持设置圆角,并且能够精确的控制圆角位置。能够轻松的实现控件边框效果。支持文字描边,这使得空心文字效果成为了可能。内置动画驱动,你只需配合Adjuster合理的使用即可。Adjuster的出现,使得你对控件的绘制过程具有了掌控权,良好的设计使得它能够完美的实现绝大部分你脑海中的效果。使用指南支持的属性SuperTextView十分方便的支持在xml中直接设置属性,并且你能够立即看到效果。就像你平时使用TextView一样方便。<SuperTextView     android:layout_width="50dp"     android:layout_height="50dp"     //设置圆角。会同时作用于填充和边框(如果边框存在的话)。     //如果要设置为圆形,只需要把该值设置为宽或长的1/2即可。      app:corner="25dp"       //设置左上角圆角     app:left_top_corner="true"     //设置右上角圆角     app:right_top_corner="true"     //设置左下角圆角     app:left_bottom_corner="true"     //设置右下角圆角     app:right_bottom_corner="true"     //设置填充颜色     app:solid="@color/red"       //设置边框颜色     app:stroke_color="@color/black"       //设置边框的宽度。     app:stroke_width="2dp"      //放置一个drawable在背景层上。默认居中显示。     //并且默认大小为SuperTextView的一半。     app:state_drawable="@drawable/emoji"       //设置drawable的显示模式。可选值如下:     // left、top、right、bottom、center(默认值)、     //leftTop、rightTop、leftBottom、rightBottom、     //fill(充满整个SuperTextView,此时会使设置drawable的大小失效)     app:state_drawable_mode="center"      //设置drawable的height     app:state_drawable_height="30dp"     //设置drawable的width     app:state_drawable_width="30dp"     //设置drawble相对于基础位置左边的距离     app:state_drawable_padding_left="10dp"     //设置drawble相对于基础位置上边的距离     app:state_drawable_padding_top="10dp"     // boolean类型。是否显示drawable。     //如果你想要设置的drawable显示出来,必须设置为true。     //当不想让它显示时,再设置为false即可。     app:isShowState="true"      //是否开启文字描边功能。     //注意,启用这个模式之后通过setTextColor()设置的颜色将会被覆盖。     //你需要通过text_fill_color来设置文字的颜色。     app:text_stroke="true"      // 文字的描边颜色。默认为Color.BLACK。     app:text_stroke_color="@color/black"     // 文字描边的宽度。     app:text_stroke_width="1dp"     // 文

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值