将标高设置为自动查看工具栏的标高,如何更改?

时间:2015-03-17 20:03:30

标签: android xml android-appcompat android-actionbaractivity android-elevation

我使用的主题默认情况下不会显示ActionBar:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="windowActionBar">false</item>
    <item name="android:textColorPrimary">#FFFFFF</item>
</style>

但是,我正在用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"
    ... >

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_VenueDetail"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/MainColor" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:background="@color/MainColor"
        android:elevation="@dimen/default_elevation"
        android:orientation="vertical">

    </LinearLayout>

</LinearLayout>
在OnCreate中

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_VenueDetail);
setSupportActionBar(toolbar);

预期的结果是一个平面工具栏和LinearLayout下方的阴影,这正是Android Studio中的预览向我显示的:

preview on Nexus 4

然而在现实生活中,工具栏也已生效:

screenshot of my Nexus 5

我想把阴影放在另一个视图下方并保持我的工具栏平整,如何实现这一目标?这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

不要将工具栏设置为支持操作栏。您仍然可以在工具栏上设置导航按钮,标题和膨胀菜单,但除非您在代码或活动布局中明确设置了高程,否则不应应用高程。

话虽如此,请确保删除高程并不违反material design的原则。