Android Custom TabLayout:图标覆盖内容

时间:2016-01-15 20:22:15

标签: android android-layout android-view android-custom-view android-tablayout

我正在寻找自定义TabLayout。中间的Tab图标需要一个边距来覆盖内容。请查看下面的图片。

TabLayout with overlaying icon

到目前为止我尝试了什么

  • Tab.setCustomView()有保证金。但这并没有覆盖内容。
  • 寻找具有这种灵活性的TabLayout库。没找到符合我需要的东西。

重新发明轮子?

由于我不需要任何复杂的滚动功能,因此我可以使用一对ViewGroupsTextViewImageView开发自己的TabLayout。在我必须这样做之前:

  • 你知道有哪些图书馆会这样做吗?
  • 你会怎么做?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我通过结合使用自定义库和浮动操作按钮实现了这一目标。 库:MagicIndicator on GitHub

我将中间片段的图标设置为一个空图标,并将浮动操作按钮定位在中间以覆盖TabLayout。看起来像这样: enter image description here 我的活动布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity">

<android.support.v4.view.ViewPager
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="top"
    android:layout_marginBottom="50dp"
    app:layout_behavior="@string/appbar_scrolling_behavior" />

<net.lucode.hackware.magicindicator.MagicIndicator
    android:id="@+id/magic_indicator"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@color/light_gray"
    android:layout_gravity="bottom" />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center|bottom"
    android:layout_margin="10dp"
    app:srcCompat="@drawable/add_icon"
    app:backgroundTint="@color/colorPrimary"/>

</android.support.design.widget.CoordinatorLayout>