Без тени по умолчанию на панели инструментов ?

? MrBrightside @ | Original: StackOverFlow

Я обновляю мое приложение с новой панели инструментов из библиотеки поддержки v21 . Моя проблема в том, чтопанель инструментов не бросает никакой тени, если я не установите атрибут " возвышение" . Этонормальное поведение или я делаю что-то не так?

My code is:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical">

   <android.support.v7.widget.Toolbar
       xmlns:app="http://schemas.android.com/apk/res-auto"
       android:id="@+id/my_awesome_toolbar"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="?attr/colorPrimary"
       android:elevation="4dp"
       android:minHeight="?attr/actionBarSize"
       app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

   <FrameLayout
       android:id="@+id/FrameLayout1"
       android:layout_width="match_parent"
       android:layout_height="match_parent">
       .
       .
       .

И в моей деятельности - OnCreate метод :

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


Top 5 Respuesta

1cygery @

Моя проблема в том, чтопанель инструментов не бросает никакой тени, если я не установите атрибут " возвышение" . Этонормальное поведение или я делаю что-то не так?

Этонормальное поведение . Также смотрите справку в конце http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html .



2dragon who spits fire @

Я в конечном итоге установления свой ​​собственный тень на панели инструментов, думал, что это может полезно для тех, кто ищет для него :

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/color_alizarin"
        android:titleTextAppearance="@color/White"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

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

        <!-- **** Place Your Content Here **** -->

        <View
            android:layout_width="match_parent"
            android:layout_height="5dp"
            android:background="@drawable/toolbar_dropshadow" />
    </FrameLayout>
</LinearLayout>

@ холст / toolbar_dropshadow :

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient
    android:startColor="@android:color/transparent"
    android:endColor="#88333333"
    android:angle="90"/>
</shape>

@ цвет / color_alizarin

<color name="color_alizarin">#e74c3c</color>

Без тени по умолчанию на панели инструментов ?

3Roberto B. @

Если вы седенийToolBar как ActionBar, а затем просто позвонить :

getSupportActionBar().setElevation(YOUR_ELEVATION);

Примечание : Это должно быть названо после setSupportActionBar(toolbar);