Как заставить toolBar и tabBar плавать на фоне - PullRequest
0 голосов
/ 03 марта 2019

Ниже приведено изображение пользовательского интерфейса моего приложения (actionBar / toolBar + webView + tabs).Как вы можете видеть, вкладки AB / панель инструментов + прозрачны (черный цвет, следовательно, нет фона), но он отказывается складываться над моим webView ( EdgeScrollViewPager ) в фоновом режиме.Я устанавливаю цвет @null как на панели инструментов, так и на панели вкладок.Я не знаю, что я делаю для логических ошибок в коде, то есть, почему actionBar / панель инструментов и tabBar не лежат поверх темно-синего фона ( webView ).

enter image description here

app_bar_main.xml

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        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"
        android:orientation="vertical"
        tools:context="com.MainActivity">

        <include layout="@layout/toolbar" />

        <com.ui.util.EdgeScrollViewPager
            android:id="@+id/content_main_viewpager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:visibility="visible"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

        </com.ui.util.EdgeScrollViewPager>

        <android.support.design.widget.TabLayout
            android:id="@+id/content_main_tabs"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:tabMaxWidth="0dp"
            app:tabGravity="fill"
            app:tabMode="fixed"
            app:tabTextAppearance="@style/ML.Tab"
            app:tabPadding="0dp"
            app:tabIndicatorHeight="0dp"
            app:tabIndicatorColor="@null"
            android:visibility="visible"
            android:background="@null"
            app:background="@null">

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

    </LinearLayout>

toolbar.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    app:theme="@style/ML.Toolbar"
    app:popupTheme="@style/ML.Toolbar.PopupTheme"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:layout_scrollFlags="scroll|enterAlways"
    >

    <include layout="@layout/topbar_loading_indicator" />

</android.support.v7.widget.Toolbar>

style.xml

<style name="ML.Toolbar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="android:background">@null</item>
        <item name="background">@null</item>
        <item name="android:windowActionBarOverlay">true</item>
        <item name="windowActionBarOverlay">true</item>
    </style>

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Если вы хотите плавать в представлениях, вы можете использовать относительное расположение или расположение кадров.

0 голосов
/ 05 марта 2019

Попробуйте это:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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.MainActivity">

<include layout="@layout/app_toolbar" />

<com.ui.util.EdgeScrollViewPager
    android:id="@+id/content_main_viewpager"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:visibility="visible"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

</com.ui.util.EdgeScrollViewPager>

<android.support.design.widget.TabLayout
    android:id="@+id/content_main_tabs"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:layout_alignParentBottom="true"
    android:background="@null"
    android:visibility="visible"
    app:background="@null"
    app:tabGravity="fill"
    app:tabIndicatorColor="@null"
    app:tabIndicatorHeight="0dp"
    app:tabMaxWidth="0dp"
    app:tabMode="fixed"
    app:tabPadding="0dp"
    app:tabTextAppearance="@style/ML.Tab">
</android.support.design.widget.TabLayout>

...