Android - 删除工具栏和TabLayout之间的阴影

时间:2016-05-26 11:00:53

标签: android toolbar shadow android-tablayout android-collapsingtoolbarlayout

我尝试使用 code <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <% Connection conn = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn =DriverManager.getConnection ("jdbc:mysql://localhost:3306/userpass?zeroDateTimeBehavior =convertToNull","root", "root"); if(conn!=null) { out.print("connected to database successfully"); } }catch(Exception e) { out.print("not connected to database"); } %> </body> </html> <warning and info*/ Info: Loading application __admingui done in 7,651 ms Warning: Context path from ServletContext: differs from path from bundle:/ Info: Redirecting to /index.jsf Info: Admin Console: Initializing Session Attributes... Warning: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5. Warning: Cannot create update center Image for C:\Program Files\glassfish->4.1.1; Update Center functionality will not be available in Admin Console 制作布局。但我没有得到一件事。我想删除工具栏和TabLayout之间的阴影。我尝试了几种方法,但我还没有设法删除阴影。有谁能够帮我?谢谢

CollapsingToolbarLayout

4 个答案:

答案 0 :(得分:13)

尝试为app:elevation="0dp"设置android:elevation(不是AppBarLayout)。

如果您的xml中没有app命名空间,请添加xmlns:app="http://schemas.android.com/apk/res-auto"

可以找到这两个属性之间的差异here

之后,请检查您是否未添加任何这些属性的背景/边框:

 <android.support.design.widget.TabLayout
    android:background="?attr/colorPrimary"
    android:translationZ="2dp"
    app:layout_anchor="@+id/appbar"
    app:layout_anchorGravity="bottom"
    app:tabGravity="fill"
    app:tabIndicatorColor="@android:color/white"/>

或者您为AppBarLayout使用的主题。

答案 1 :(得分:4)

<android.support.design.widget.AppBarLayout
        android:id="@+id/appBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:elevation="0dp">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="56dp"
            app:titleTextColor="@android:color/white" />

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

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

使用app:elevation="0dp"删除阴影。它一直对我有用。希望它适合你。

还以编程方式,

appBar.setOutlineProvider(null);

答案 2 :(得分:2)

您必须将工具栏和TabLayout放在同一个AppBarLayout

    <android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginEnd="20dp"
        app:expandedTitleMarginStart="20dp"
        app:expandedTitleTextAppearance="@style/detalle_txt_expanded"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            android:id="@+id/detalle_img"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            android:scaleType="centerCrop"
            android:src="@drawable/img_thumb_m"
            android:transitionName="@string/transition"
            app:layout_collapseMode="parallax"
            tools:targetApi="lollipop" />

        <ImageView
            android:id="@+id/detalle_img_tipo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="15dp"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/img_edificio"/>

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:minHeight="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/AppTheme"/>

    </net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout>

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_gravity="bottom"
        android:background="?attr/colorPrimary"
        android:translationZ="2dp"
        app:layout_anchor="@+id/appbar"
        app:layout_anchorGravity="bottom"
        app:tabGravity="fill"
        app:tabIndicatorColor="@android:color/white"
        app:tabIndicatorHeight="3dp"
        app:tabMode="fixed"
        app:tabTextColor="@color/tabs_text_selector" />

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

看看这个issue

答案 3 :(得分:0)

我知道问题已经回答。但是我想分享一些我辛苦学习的东西,以便面临相同问题的人们可以节省时间。

您需要将AppBarLayout包装在CoordinatorLayout内,否则app:elevation无效。

工作示例:

<CoordinatorLayout>
    <AppBarLayout>
        <Toolbar>