【发布时间】:2015-09-18 00:17:06
【问题描述】:
由于某种原因,海拔属性似乎不适用于材料设计支持库中的新 TabLayout。有任何想法吗? XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="6dp" />
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
在父片段中像这样连接:
ViewPager viewPager = (ViewPager) view.findViewById(R.id.view_pager);
TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tab_layout);
AppPagerAdapter appPagerAdapter = new AppPagerAdapter(getChildFragmentManager());
viewPager.setAdapter(appPagerAdapter);
tabLayout.setupWithViewPager(viewPager);
图片:
Activity 有一个工具栏,但它在片段之外,不应该影响 tablayout 有阴影的能力:
相关活动xml:
<LinearLayout 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:orientation="vertical"
tools:context="com.bluckapps.appinfomanager.ui.MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
tools:ignore="UnusedAttribute" />
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
【问题讨论】:
-
您使用的是
Toolbar(我知道您的布局中没有说明,但我只是想知道)?另请注意,android:elevation属性仅适用于 API 级别 21 及更高级别(即 Android Lollipop (5.0) 及更高版本)。 -
外观应该有选项卡下方的阴影,而不是它们上方。工具栏位于片段外部的活动中。我可以稍微扩展一下问题来详细说明
-
你试过了吗:
- false
- false
?这应该会移除 ActionBar 下的阴影。然后,您可以在 xml 中添加一个视图,就在显示较深颜色的布局之上。
标签: android material-design android-elevation