Android ViewPager和TabLayout:如何在边距之间有线性(矩形)指示器
创始人
2024-08-19 05:00:16
0

要在Android ViewPager和TabLayout中实现具有线性(矩形)指示器的边距之间,您可以使用自定义的TabLayout.TabIndicatorColorStateList。以下是一个示例代码:

  1. 创建一个名为CustomTabLayout的类,继承自TabLayout。
public class CustomTabLayout extends TabLayout {

    private int indicatorStartMargin;
    private int indicatorEndMargin;

    public CustomTabLayout(Context context) {
        super(context);
    }

    public CustomTabLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CustomTabLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public void setIndicatorMargins(int startMargin, int endMargin) {
        this.indicatorStartMargin = startMargin;
        this.indicatorEndMargin = endMargin;
        invalidate();
    }

    @Override
    public void draw(Canvas canvas) {
        super.draw(canvas);

        View currentTabView = getTabAt(getSelectedTabPosition()).view;
        int tabWidth = currentTabView.getWidth();

        int indicatorStart = currentTabView.getLeft() + indicatorStartMargin;
        int indicatorEnd = currentTabView.getRight() - indicatorEndMargin;

        int indicatorTop = getHeight() - getSelectedTabIndicator().getIntrinsicHeight();
        int indicatorBottom = getHeight();

        getSelectedTabIndicator().setBounds(indicatorStart, indicatorTop, indicatorEnd, indicatorBottom);
        getSelectedTabIndicator().draw(canvas);
    }
}
  1. 在您的布局文件中,将TabLayout替换为CustomTabLayout

  1. 在您的活动或碎片中,通过调用setIndicatorMargins()来设置指示器的边距。
CustomTabLayout tabLayout = findViewById(R.id.tabLayout);
tabLayout.setIndicatorMargins(16, 16);

这样,您就可以在边距之间实现具有线性(矩形)指示器的Android ViewPager和TabLayout。您可以根据需要调整指示器的起始和结束边距。

相关内容

热门资讯

wepoker免费脚本弱密码!... wepoker免费脚本弱密码!wejoker透视方法(透视)脚本-竟然曝光是有挂1、超多福利:超高返...
德普之星私人局辅助器!wepo... 德普之星私人局辅助器!wepoker好友房开挂(透视)app-总是科普有挂1、在德普之星私人局辅助器...
wepoker私人辅助器!ha... wepoker私人辅助器!hardrock透视工具(透视)插件-原来揭幕是有挂1、每一步都需要思考,...
wepoker有辅助插件吗!德... wepoker有辅助插件吗!德州局怎么透视(透视)神器-一贯解谜存在有挂1、点击下载安装,wepok...
安装不了wepoker!wep... 安装不了wepoker!wepoker透视脚本视频(透视)脚本-原来了解真的有挂1、wepoker透...
wpk辅助器!哈糖大菠萝有挂吗... wpk辅助器!哈糖大菠萝有挂吗(透视)工具-总是必备是有挂1、任何哈糖大菠萝有挂吗透视是真的假的的玩...
wepoker私局辅助!wep... wepoker私局辅助!wepoker轻量版辅助(透视)脚本-好像辅助真的有挂1、全新机制【wepo...
wpk模拟器!wepoker辅... wpk模拟器!wepoker辅助器激活码(透视)方法-总是专业有挂运wepoker辅助器激活码辅助工...
hhpoker软件靠谱吗!wp... hhpoker软件靠谱吗!wpk俱乐部辅助器(透视)方法-切实解密是有挂1、每一步都需要思考,不同水...
佛手大菠萝13道挂哪里!wep... 佛手大菠萝13道挂哪里!wepoker透视底牌脚本(透视)软件-好像解迷真的是有挂1、佛手大菠萝13...