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。您可以根据需要调整指示器的起始和结束边距。

相关内容

热门资讯

黑科技辅助挂(wePOKE)黑... 黑科技辅助挂(wePOKE)黑科技透明挂辅助教程(透视)透牌教程(真是是真的有挂)1、超多福利:超高...
黑科技脚本(线上wpk德州ai... 黑科技脚本(线上wpk德州ai)外挂透视辅助app(透视)AI教程(竟然真的有挂)1)线上wpk德州...
黑科技存在(微扑克ai)外挂透... 黑科技存在(微扑克ai)外挂透视辅助技巧(透视)德州教程(好像真的有挂)1、微扑克aiai辅助优化,...
黑科技工具(线上wpk德州ai... 黑科技工具(线上wpk德州ai)外挂透视辅助挂(透视)扑克教程(一直真的有挂)1、线上wpk德州ai...
黑科技科技(wpk德州扑克)外... 黑科技科技(wpk德州扑克)外挂透视辅助软件(透视)安装教程(都是真的是有挂)1、这是跨平台的wpk...
黑科技了解(wePoKe)黑科... 黑科技了解(wePoKe)黑科技透明挂辅助技巧(透视)微扑克教程(原来存在有挂)1、微扑克系统规律教...
黑科技软件(德州aapoker... 黑科技软件(德州aapoker)外挂透视辅助挂(透视)教你教程(原来真的是有挂);1)德州aapok...
黑科技玄学(wepOKE)黑科... 黑科技玄学(wepOKE)黑科技透明挂辅助器(透视)解密教程(原来存在有挂)一、wepOKE软件透明...
黑科技实锤(wepoKe)黑科... 黑科技实锤(wepoKe)黑科技透明挂辅助器(透视)详细教程(本来真的有挂)小薇(透视辅助)致您一封...
黑科技安装(德州wepower... 黑科技安装(德州wepower)黑科技透明挂辅助助手(透视)wpk教程(竟然是真的有挂)1、用户打开...