Android CoordinatorLayout 滚动整个视图

Android CoordinatorLayout Scrolling Entire View

我有一个 ViewPager activity,它使用 CoordinatorLayout 和几个标签。在每个选项卡中,我都有这些非常大的 Fragments,它们不会完全适合用户的屏幕。我希望用户能够上下滚动以查看整个 Fragment。我显然还希望 CoordinatorLayout 拾取滚动事件,这将隐藏 Toolbar。我有 Toolbar 隐藏滚动工作,但在 ToolbarCoordinatorLayout 滚动隐藏后,我无法再滚动以查看下面的其余视图。

我怎样才能得到这种行为?

这是我的简单 ViewPager activity 布局

<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.cryptobuddy.ryanbridges.cryptobuddy.currencylist.CurrencyListTabsActivity"
android:orientation="vertical">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/appBarLayout"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_currency_details"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:layout_scrollFlags="scroll|enterAlways|snap"/>

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

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

<android.support.v4.view.ViewPager
    android:id="@+id/currencyTabsViewPager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="0dp"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

这是我的 Fragment 布局,我终生无法滚动:

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.NestedScrollView 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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.cryptobuddy.ryanbridges.cryptobuddy.chartandprice.CurrencyDetailsTabsActivity"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:fillViewport="true">

    <android.support.v4.widget.SwipeRefreshLayout 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/swipe_refresh_layout"
        android:layout_gravity="center|bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/graph_fragment_horizontal_margin"
        android:paddingRight="@dimen/graph_fragment_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.cryptobuddy.ryanbridges.cryptobuddy.chartandprice.CurrencyDetailsTabsActivity">

        <TextView
            android:id="@+id/current_price"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:textSize="16sp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <TextView
            android:id="@+id/graphFragmentDateTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:textSize="12sp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.501"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/current_price" />


        <TextView
            android:id="@+id/percent_change"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:textSize="12sp"
            android:textStyle="bold"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/graphFragmentDateTextView" />

        <com.github.mikephil.charting.charts.LineChart
            android:id="@+id/chart"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginBottom="8dp"
            android:layout_marginEnd="2dp"
            android:layout_marginStart="2dp"
            android:focusableInTouchMode="true"
            android:padding="0dp"
            app:layout_constraintBottom_toTopOf="@+id/guideline5"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/guideline6" />

        <com.nex3z.togglebuttongroup.SingleSelectToggleGroup
            android:id="@+id/chart_interval_button_grp"
            android:layout_width="384dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            app:layout_constraintBottom_toTopOf="@+id/guideline6"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/percent_change"
            app:tbgCheckedButton="@+id/dayButton"
            app:tbgChildSpacing="auto">

            <com.nex3z.togglebuttongroup.button.CircularToggle
                android:id="@+id/dayButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/oneDay"
                android:textSize="16sp"
                app:tbgMarkerColor="@color/colorAccent" />

            <com.nex3z.togglebuttongroup.button.CircularToggle
                android:id="@+id/weekButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/Week"
                android:textSize="16sp"
                app:tbgMarkerColor="@color/colorAccent" />

            <com.nex3z.togglebuttongroup.button.CircularToggle
                android:id="@+id/monthButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/Month"
                android:textSize="16sp"
                app:tbgMarkerColor="@color/colorAccent" />

            <com.nex3z.togglebuttongroup.button.CircularToggle
                android:id="@+id/threeMonthButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/threeMonth"
                android:textSize="16sp"
                app:tbgMarkerColor="@color/colorAccent" />

            <com.nex3z.togglebuttongroup.button.CircularToggle
                android:id="@+id/yearButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/Year"
                android:textSize="16sp"
                app:tbgMarkerColor="@color/colorAccent" />

            <com.nex3z.togglebuttongroup.button.CircularToggle
                android:id="@+id/allTimeButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/All"
                android:textSize="16sp"
                app:tbgMarkerColor="@color/colorAccent" />

        </com.nex3z.togglebuttongroup.SingleSelectToggleGroup>

        <android.support.constraint.Guideline
            android:id="@+id/guideline5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            app:layout_constraintGuide_percent="0.5" />

        <android.support.constraint.Guideline
            android:id="@+id/guideline6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            app:layout_constraintGuide_percent="0.15" />

            <TableLayout
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:layout_marginEnd="8dp"
                android:layout_marginStart="8dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/guideline5">

                <TableRow
                    android:id="@+id/nameTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/tableNameTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Name" />

                    <TextView
                        android:id="@+id/tableNameDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="textEnd" />
                </TableRow>

                <TableRow
                    android:id="@+id/symbolTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/tableSymbolTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Symbol" />

                    <TextView
                        android:id="@+id/tableSymbolDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="textEnd" />
                </TableRow>

                <TableRow
                    android:id="@+id/priceUSDTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/tablePriceUSDTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Price (USD)" />

                    <TextView
                        android:id="@+id/tablePriceUSDDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="textEnd" />
                </TableRow>

                <TableRow
                    android:id="@+id/priceBTCTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/tablePriceBTCTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Price (BTC)" />

                    <TextView
                        android:id="@+id/tablePriceBTCDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="textEnd" />

                </TableRow>

                <TableRow
                    android:id="@+id/volUSDTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/tableVolUSDTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="24h Volume" />

                    <TextView
                        android:id="@+id/tableVolUSDDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="textEnd" />
                </TableRow>

                <TableRow
                    android:id="@+id/mktCapUSDTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/tableMktCapTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Market Cap" />

                    <TextView
                        android:id="@+id/tableMktCapDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="textEnd" />
                </TableRow>

                <TableRow
                    android:id="@+id/availableSupplyTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/tableAvailableSupplyTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Available Supply" />

                    <TextView
                        android:id="@+id/tableAvailableSupplyDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="textEnd" />
                </TableRow>

                <TableRow
                    android:id="@+id/totalSupplyTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/tableTotalSupplyTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Total Supply" />

                    <TextView
                        android:id="@+id/tableTotalSupplyDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="textEnd" />
                </TableRow>

                <TableRow
                    android:id="@+id/maxSupplyTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/tableMaxSupplyTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Max Supply" />

                    <TextView
                        android:id="@+id/tableMaxSupplyDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="textEnd" />
                </TableRow>

                <TableRow
                    android:id="@+id/changeTitlesTableRow"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/table1hrChangeTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Change 1hr"
                        android:textAlignment="center" />

                    <TextView
                        android:id="@+id/table24hrChangeTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="Change 24hr"
                        android:textAlignment="center" />

                    <TextView
                        android:id="@+id/tableWeekChangeTitleTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="3"
                        android:text="Change 7d"
                        android:textAlignment="center" />

                </TableRow>

                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/table1hrChangeDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="TextView"
                        android:textAlignment="center" />

                    <TextView
                        android:id="@+id/table24hrChangeDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        android:text="TextView"
                        android:textAlignment="center" />

                    <TextView
                        android:id="@+id/table7dChangeDataTextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="3"
                        android:text="TextView"
                        android:textAlignment="center" />
                </TableRow>
            </TableLayout>

    </android.support.constraint.ConstraintLayout>
        </ScrollView>

    </android.support.v4.widget.SwipeRefreshLayout>

来自您的片段代码:

  1. 删除最外面的NestedScrollView。你不需要它。
  2. app:layout_behavior="@string/appbar_scrolling_view_behavior" 添加到已成为新父级的 SwipeRefreshLayout
  3. 将内部 ScrollView 更改为 NestedScrollView

让我们知道它是否有效。

我找到了解决方案。有 2 个问题:

  1. 我在 ConstraintLayout 中使用了 指南
  2. 我将 ConstraintLayout 中某些元素的 height/width 设置为 match_constraint

我删除了 guidelines 并在 dp 中为所有布局元素提供了原始 height/width 值。这似乎解决了问题。

滚动似乎没有很好地适应指南中的元素

这是我的 xml 现在:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/graphFragmentNestedScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/graph_fragment_horizontal_margin"
    android:paddingRight="@dimen/graph_fragment_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin">

    <TextView
        android:id="@+id/current_price"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:textSize="16sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/graphFragmentDateTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:textSize="12sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/current_price" />


    <TextView
        android:id="@+id/percent_change"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:textSize="12sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/graphFragmentDateTextView" />

    <com.nex3z.togglebuttongroup.SingleSelectToggleGroup
        android:id="@+id/chart_interval_button_grp"
        android:layout_width="362dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/percent_change"
        app:tbgCheckedButton="@+id/dayButton"
        app:tbgChildSpacing="auto">

        <com.nex3z.togglebuttongroup.button.CircularToggle
            android:id="@+id/dayButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/oneDay"
            android:textSize="16sp"
            app:tbgMarkerColor="@color/colorAccent" />

        <com.nex3z.togglebuttongroup.button.CircularToggle
            android:id="@+id/weekButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/Week"
            android:textSize="16sp"
            app:tbgMarkerColor="@color/colorAccent" />

        <com.nex3z.togglebuttongroup.button.CircularToggle
            android:id="@+id/monthButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/Month"
            android:textSize="16sp"
            app:tbgMarkerColor="@color/colorAccent" />

        <com.nex3z.togglebuttongroup.button.CircularToggle
            android:id="@+id/threeMonthButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/threeMonth"
            android:textSize="16sp"
            app:tbgMarkerColor="@color/colorAccent" />

        <com.nex3z.togglebuttongroup.button.CircularToggle
            android:id="@+id/yearButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/Year"
            android:textSize="16sp"
            app:tbgMarkerColor="@color/colorAccent" />

        <com.nex3z.togglebuttongroup.button.CircularToggle
            android:id="@+id/allTimeButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/All"
            android:textSize="16sp"
            app:tbgMarkerColor="@color/colorAccent" />

    </com.nex3z.togglebuttongroup.SingleSelectToggleGroup>

    <com.github.mikephil.charting.charts.LineChart
        android:id="@+id/chart"
        android:layout_width="match_parent"
        android:layout_height="275dp"
        android:layout_marginTop="8dp"
        android:focusableInTouchMode="true"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/chart_interval_button_grp" />

    <TableLayout
        android:id="@+id/tableLayoutGraphFragment"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:paddingBottom="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/chart">

        <TableRow
            android:id="@+id/nameTableRow"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/lightGray">

            <TextView
                android:id="@+id/tableNameTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingStart="8dp"
                android:text="Name" />

            <TextView
                android:id="@+id/tableNameDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingEnd="8dp"
                android:textAlignment="textEnd" />
        </TableRow>

        <TableRow
            android:id="@+id/priceUSDTableRow"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/tablePriceUSDTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingStart="8dp"
                android:text="Price (USD)" />

            <TextView
                android:id="@+id/tablePriceUSDDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingEnd="8dp"
                android:textAlignment="textEnd" />
        </TableRow>

        <TableRow
            android:id="@+id/priceBTCTableRow"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/lightGray">

            <TextView
                android:id="@+id/tablePriceBTCTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingStart="8dp"
                android:text="Price (BTC)" />

            <TextView
                android:id="@+id/tablePriceBTCDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingEnd="8dp"
                android:textAlignment="textEnd" />

        </TableRow>

        <TableRow
            android:id="@+id/volUSDTableRow"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/tableVolUSDTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingStart="8dp"
                android:text="24h Volume" />

            <TextView
                android:id="@+id/tableVolUSDDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingEnd="8dp"
                android:textAlignment="textEnd" />
        </TableRow>

        <TableRow
            android:id="@+id/mktCapUSDTableRow"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/lightGray">

            <TextView
                android:id="@+id/tableMktCapTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingStart="8dp"
                android:text="Market Cap" />

            <TextView
                android:id="@+id/tableMktCapDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingEnd="8dp"
                android:textAlignment="textEnd" />
        </TableRow>

        <TableRow
            android:id="@+id/availableSupplyTableRow"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/tableAvailableSupplyTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingStart="8dp"
                android:text="Available Supply" />

            <TextView
                android:id="@+id/tableAvailableSupplyDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingEnd="8dp"
                android:textAlignment="textEnd" />
        </TableRow>

        <TableRow
            android:id="@+id/totalSupplyTableRow"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/lightGray">

            <TextView
                android:id="@+id/tableTotalSupplyTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingStart="8dp"
                android:text="Total Supply" />

            <TextView
                android:id="@+id/tableTotalSupplyDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingEnd="8dp"
                android:textAlignment="textEnd" />
        </TableRow>

        <TableRow
            android:id="@+id/maxSupplyTableRow"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/tableMaxSupplyTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingStart="8dp"
                android:text="Max Supply" />

            <TextView
                android:id="@+id/tableMaxSupplyDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingEnd="8dp"
                android:textAlignment="textEnd" />
        </TableRow>

        <TableRow
            android:id="@+id/changeTitlesTableRow"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/lightGray">

            <TextView
                android:id="@+id/table1hrChangeTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingStart="8dp"
                android:text="Change 1hr"
                android:textAlignment="center" />

            <TextView
                android:id="@+id/table24hrChangeTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingStart="8dp"
                android:text="Change 24hr"
                android:textAlignment="center" />

            <TextView
                android:id="@+id/tableWeekChangeTitleTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="3"
                android:paddingStart="8dp"
                android:text="Change 7d"
                android:textAlignment="center" />

        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/lightGray">

            <TextView
                android:id="@+id/table1hrChangeDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:paddingEnd="8dp"
                android:textAlignment="center"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/table24hrChangeDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:paddingEnd="8dp"
                android:textAlignment="center"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/tableWeekChangeDataTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="3"
                android:paddingEnd="8dp"
                android:textAlignment="center"
                android:textStyle="bold" />
        </TableRow>
    </TableLayout>

</android.support.constraint.ConstraintLayout>