Android|更好看的Tab选择卡FlipTabs框架的使用方法

实现效果

效果图

添加依赖

settings.grale中的repositories中添加地址:

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

然后将包引入:

dependencies {
	...
	implementation 'com.github.Chrisvin:FlipTabs:v1.5'

}

注意!要在gradle.properties文件中添加一句代码:

android.enableJetifier=true

这句话的作用是将旧版 Android Support 库中的类重定向到 AndroidX 库中相应的类,以便在使用最新版本的库时保持向后兼容性。这个选项会自动更新你的项目中的第三方库,并更改它们的依赖关系,以适应 AndroidX 库。

实现功能

在XML布局文件中写入:

<!-- 
我使用的部分属性用途(个人理解):
app:startingTab="left"  默认显示的选择卡
app:removeDefaultPadding="false" 'FlipTab'在所有方面都有一个16dp的默认填充,以确保翻转动画的空间
app:overallColor="@color/purple_500" 设置选择卡全局颜色
app:flipAnimationDuration="400" 翻转动画持续时间
app:wobbleReturnAnimationDuration="200" 摆动返回动画持续时间
app:wobbleAngle="3" 摆动角
-->
<com.jem.fliptabs.FlipTab
        android:id="@+id/ft1"
        android:layout_height="wrap_content"
        android:layout_width="250dp"
        android:layout_gravity="center"
        app:leftTabText="Photos"
        app:rightTabText="Videos"
        app:startingTab="left" 
        app:removeDefaultPadding="false"
        app:overallColor="@color/purple_500"
        app:flipAnimationDuration="400"
        app:wobbleReturnAnimationDuration="200"
        app:wobbleAngle="3"/>
<!-- 
还可选择的其他属性(个人理解):
app:textColor="#FF0000" 文本颜色,如果定义了全局颜色将会被忽略
app:highlightColor="#FF0000" 突出显示颜色,如果定义了全局颜色将会被忽略
app:borderWidth="4dp" 边框宽度,默认边框宽度为2dp
-->

实例化后在Java文件中设置监听事件:

		FlipTab fliptab = (FlipTab)findViewById(R.id.ft1);
		
        fliptab.setTabSelectedListener(new FlipTab.TabSelectedListener() {
            @Override
            public void onTabSelected(boolean isLeftTab, String tabTextValue) {
                Toast.makeText(MainActivity.this, (isLeftTab ? "Left" : "Right") + " tab selected", Toast.LENGTH_SHORT).show();
            }
            //这个是选择方法,isLeftTab的布尔值来判断选择的是左还是右

            @Override
            public void onTabReselected(boolean isLeftTab, String tabTextValue) {
                Toast.makeText(MainActivity.this, (isLeftTab ? "Left" : "Right") + " tab reselected", Toast.LENGTH_SHORT).show();
            }
            //这个是选择后再次点击方法,不需要可以放着不写实现代码
        });

结语

还可以在Java代码中实现其属性操作,有兴趣的可以去作者主页查看。
FlipTabs作者GitHub地址:https://github.com/Chrisvin/FlipTabs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值