專案背景
專案需求,仿京東串列側邊欄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寫法
tablayout.setTabAdapter(new TabAdapter() {
@Override
public int getCount() {
return 0;
}
@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 null;
}
@Override
public int getBackground(int position) {
return 0;
}
});
按照自己的需要進行回傳相應的值即可,不需要的回傳0或者null
也可以選擇使用SimpleTabAdapter,內部空實作了TabAdapter的所有方法
TabBadge、TabIcon、TabTitle使用build模式創建,
如有問題和bug歡迎提出!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/196395.html
標籤:python
上一篇:Android開發TextvView實作鏤空字體效果
下一篇:fragment的退堆疊的實作
