如何创建一个布局类似的视图?

时间:2019-05-02 14:11:04

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

我正在尝试创建一个类似于TabLayout的简单布局,但是我不需要实际的标签。就像一个普通的按钮一样。
我不确定是否应该通过背景drawable(以处理状态和线条的颜色)或仅通过视图来完成。
有什么建议吗?

2 个答案:

答案 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>

您可以玩颜色,半径等。