android动态添加布局属性 layoutparmas,GitHub - Android-xiaole/TabBarView: ❤❀自定义View之tabbar,动态添加item,告别布局烦恼❀❤...

TabBarView

❤❀自定义View之tabbar,动态添加item,告别布局烦恼❀❤

不墨迹 直接上效果图

10d946f22b815403ea8c685c31af21f7.gif

PS:应用宝截的GIF画质有点不忍直视。。。下面简单介绍一下用法(后面会写一片博客详细讲解一下)

引用方式:

在Android Studio里面配置Jitpack插件

在项目的根目录下的 build.gradle 文件里面添加

1: 在 dependencies 标签下面添加

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'

2: 在repositories 标签下面添加

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

最后在app或者你要使用的库的 build.gradle 文件里面的dependencies标签下面添加

compile 'com.github.Android-xiaole:TabBarView:1.0.1'

设置数据的方法我全部都抽成了接口

/**

* 设置图片的尺寸

*

* 此方法必须在addTabItem()之前调用

*

* @param width 宽度 dp

* @param height 高度 dp

* @return

*/

TabBarView setImgSize(int width, int height);

/**

* 设置文字的尺寸

*

* 此方法必须在addTabItem()之前调用

*

* @param textSize 文字的尺寸 sp

* @return

*/

TabBarView setTextSize(float textSize);

/**

* 设置Tab的padding值

*

* 此方法必须在addTabItem()之前调用

*

* @param top 上边距 dp

* @param middle 文字图片的距离 dp

* @param bottom 下边距 dp

* @return

*/

TabBarView setMargins(int top, int middle, int bottom);

/**

* 设置选中未选中的颜色

*

* 此方法必须在addTabItem()之前调用

*

* @param unSelectColor 未选中的颜色

* @param selectColor 选中的颜色

* @return

*/

TabBarView setTextChangeColor(@ColorInt int unSelectColor, @ColorInt int selectColor);

/**

* 设置BottomTabBar的整体背景

*

* @param color 背景颜色

* @return

*/

TabBarView setTabBarBackgroundColor(@ColorInt int color);

/**

* 是否显示分割线

*

* @param isShowDivider

* @return

*/

TabBarView isShowDivider(boolean isShowDivider);

/**

* 设置分割线的高度

*

* @param height

* @return

*/

TabBarView setDividerHeight(float height);

/**

* 设置分割线的颜色

*

* @param color

* @return

*/

TabBarView setDividerColor(@ColorInt int color);

/**

* 添加TabItem

*

* @param name

* @param unSelectImgRes

* @param selectImgRes

*/

TabBarView addTabItem(String name, int unSelectImgRes, int selectImgRes);

/**

* 设置选中项

* 此方法必须在addTabItem方法调用结束之后调用

* @param position

* @return

*/

TabBarView setSelectItem(int position);

/**

* 设置点击事件

*

* @param tabBarViewListener

*/

TabBarView setOnTabBarViewListener(OnTabBarViewListener tabBarViewListener);

Demo里面写了三个用法实例

1、默认布局

android:id="@+id/tabBarView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"/>

2、XML布局

android:id="@+id/tabBarView1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"

app:textSize = "15sp"

app:imgWidth = "38dp"

app:imgHeight = "38dp"

app:marginTop = "10dp"

app:middleSize = "5dp"

app:marginBottom = "10dp"

app:textUnselectColor = "#ff00ff"

app:textSelectColor = "#ffff00"

app:tabBgColor = "#0ffff0"

app:isShowDivider = "true"

app:dividerHeight = "1px"

app:dividerColor = "#0f0f0f"

>

3、代码设置

tabBarView2.setTextChangeColor(Color.GRAY,Color.YELLOW)

.setImgSize(28,28)

.setMargins(5,2,5)

.setTextSize(12)

.setTabBarBackgroundColor(Color.RED)

.setDividerColor(Color.BLACK)

.setDividerHeight(1)

.isShowDivider(true)

.addTabItem("商城",R.drawable.item,R.drawable.item_blue)

.addTabItem("主页",R.drawable.item,R.drawable.item_blue)

.addTabItem("发现",R.drawable.item,R.drawable.item_blue)

.addTabItem("我的",R.drawable.item,R.drawable.item_blue)

.setSelectItem(2)

.setOnTabBarViewListener(this)

.show();

最后注意: * 提醒一下关于设置size的问题

1、XML文件里面设置的支持px dp sp

2、set方法设置的只支持dp(文字是sp),我这边自动帮用户转换了(方便适配嘛)

3、文字只支持sp

4、默认size我全部转换成了dp(也是方便适配)

以上有特殊需求可查看相关源码更改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值