我正在尝试创建一个类似于TabLayout
的简单布局,但是我不需要实际的标签。就像一个普通的按钮一样。
我不确定是否应该通过背景drawable(以处理状态和线条的颜色)或仅通过视图来完成。
有什么建议吗?
答案 0 :(得分:0)
您可以将单独的按钮/相对/图像布局作为按钮。并更改frameLayout中的片段。我不能说这是个好习惯,但同时我也不知道你的情况。但是我确定它会起作用,并且您可以轻松自定义流程和视图的每个部分。
答案 1 :(得分:0)
使用自定义的TabLayout
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="40dp" // select your height
app:tabBackground="@drawable/buttons_selector" // this to customize tabs
app:tabSelectedTextColor="@color/your_tab_text_color"
app:tabTextAppearance="@style/TabTextAppearance"
app:tabIndicatorHeight="0dp" // hide the indicator line
app:tabGravity="fill" // or center
app:tabMode="fixed" // or scrollable
>
可绘制的buttons_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- drawable for selected tab -->
<item
android:drawable="@drawable/button_selected"
android:state_selected="true"/>
<!-- drawable for unselected tab -->
<item
android:drawable="@drawable/button_not_selected"
android:state_selected="false"/>
</selector>
drawable button_not_selected.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- unselected tab background -->
<solid
android:color="@android:color/transparent" />
已选择绘制按钮
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp"
android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" />
<!-- color of the selected tab -->
<solid
android:color="@color/your_color"/>
</shape>
您可以玩颜色,半径等。