Android 仿京东分类列表侧边栏UI库

项目背景

项目需求,仿京东列表侧边栏UI,Androidx UI需求,仿京东分类侧边栏。

首先作为一般的开发者,遇到这样的UI需求,首先一定是寻找开源,哈哈哈~

在github上找到一个开源项目VerticalTabLayout感谢开源!这个库基本可以满足大部分的侧边导航栏需求。 但是这个项目已经很久没有维护了(不支持AndroidX,不支持kotlin语法,且tab页的切换过于粗暴,不满足UI设计师的需求)在此框架的基础上,开发了一套新的侧边栏框架,并贡献出来,希望可以帮助到大家。

正文

话不多说,先贴效果图。项目地址:https://github.com/JiaJie-xu1/VerticalTabLib

How To Use

Step 1. Add the JitPack repository to your build file

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

Step 2. Add the dependency

dependencies {
	        implementation 'com.github.JiaJie-xu1:VerticalTabLib:2.0.1'
	}

Step 3. xml

<com.partner.tabtools.verticalTab.VerticalTabLayout
                android:id="@+id/verticalTabLayout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#f7f7f7"
                app:indicator_color="#64e4f2"
                app:indicator_gravity="left"
                app:tab_mode="scrollable"
                app:tab_height="@dimen/dp55"/>

Step 4. adapter方法创建(kotlin写法)

adapter =object : TabAdapter {
            override fun getIcon(position: Int): TabView.TabIcon? {
                return null
            }

            override fun getBadge(position: Int): TabView.TabBadge? {
                return null
            }

            override fun getBackground(position: Int): Int {
                return resources.getColor(R.color.white)
            }

            override fun getTitle(position: Int): TabView.TabTitle {
                return TabView.TabTitle.Builder()
                    .setContent(tabsTitle[position])
                    .setTextSize(DisplayUtil.getSR(13))
                    .setTextColor(0xFFcbcbcc.toInt(), 0xFF4a4a4a.toInt())
                    .build()
            }

            override fun getCount(): Int {
                return tabsTitle.size
            }

        }
        verticalTabLayout.setTabAdapter(adapter)

java写法

adapter = new TabAdapter() {
            @Override
            public int getCount() {
                return tabsTitle.size();
            }

            @Override
            public TabView.TabBadge getBadge(int position) {
                return null;
            }

            @Override
            public TabView.TabIcon getIcon(int position) {
                return null;
            }

            @Override
            public TabView.TabTitle getTitle(int position) {
                return new TabView.TabTitle.Builder()
                        .setContent(tabsTitle.get(position))
                        .setTextSize(DisplayUtil.getSR(13))
                        .setTextColor(0xFFcbcbcc,0xFF4a4a4a)
                        .build();
            }

            @Override
            public int getBackground(int position) {
                return getResources().getColor(R.color.white);
            }
        };
verticalTabLayout.setTabAdapter(adapter);
按照自己的需要进行返回相应的值即可,不需要的返回0或者null
也可以选择使用SimpleTabAdapter,内部空实现了TabAdapter的所有方法
TabBadge、TabIcon、TabTitle使用build模式创建。

如有问题和bug欢迎提出!

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
Android Studio抽屉侧边栏Demo是一个基于Android Studio的示例应用程序,它演示了如何在Android应用程序中实现抽屉侧边栏。抽屉侧边栏是一个常见的UI模式,它允许用户通过从屏幕边缘滑动来访问应用程序的导航菜单和其他功能。 在这个Demo中,抽屉侧边栏是通过使用DrawerLayout和NavigationView实现的。DrawerLayout是一个布局容器,它允许您将一个或多个视图放在一个可滑动的抽屉中。NavigationView是一个用于显示导航菜单的视图,它可以轻松地与DrawerLayout一起使用。 在代码中,您可以看到以下几个关键点: 1.在布局文件中定义DrawerLayout和NavigationView。 2.在Activity中设置ActionBarDrawerToggle,它是一个用于处理抽屉侧边栏打开和关闭事件的类。 3.在Activity中设置DrawerLayout的监听器,以便在抽屉侧边栏打开和关闭时执行相应的操作。 下面是一个简单的代码示例,演示如何在Android Studio中实现抽屉侧边栏: ``` // 在布局文件中定义DrawerLayout和NavigationView <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:id="@+id/navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:menu="@menu/navigation_menu" /> </android.support.v4.widget.DrawerLayout> // 在Activity中设置ActionBarDrawerToggle mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close); mDrawerLayout.addDrawerListener(mDrawerToggle); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); // 在Activity中设置DrawerLayout的监听器 mDrawerLayout.setDrawerListener(new DrawerLayout.SimpleDrawerListener() { @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); // 打开抽屉侧边栏时执行的操作 } @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); // 关闭抽屉侧边栏时执行的操作 } }); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值