Android 5.0 android:élévation de Travaux pour la Vue, mais pas le Bouton?

Dans l'Android 5.0 échantillons à partir du SDK Manager, il y a le ElevationBasic de l'échantillon. Il montre deux View objets: un cercle et un carré. Le cercle a android:elevation ensemble de 30dp:

<?xml version="1.0" encoding="utf-8"?>
<!--
 Copyright 2014 The Android Open Source Project

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<FrameLayout 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">
    <View
            android:id="@+id/floating_shape"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginRight="40dp"
            android:background="@drawable/shape"
            android:elevation="30dp"
            android:layout_gravity="center"/>
    <View
            android:id="@+id/floating_shape_2"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginLeft="25dp"
            android:background="@drawable/shape2"
            android:layout_gravity="center"/>
</FrameLayout>

Sur une Nexus 9, l'exécution de l'échantillon -, nous obtenons une ombre portée sur le cercle:

Android 5.0 android:élévation de Travaux pour la Vue, mais pas le Bouton?

Si nous modifions la classe widget de Button, laissant tous les autres attributs comme-est, nous perdons de l'ombre portée sur le cercle:

Android 5.0 android:élévation de Travaux pour la Vue, mais pas le Bouton?

Les questions:

  1. Pourquoi le android:elevation comportement en train de changer? Il ne peut pas être due à l'arrière-plan, parce que c'est le même arrière-plan dans les deux cas.

  2. Les classes de soutien android:elevation, et qui ne le sont pas? Par exemple, à l'aide de TextView au lieu de View ou Button nous donne encore l'ombre, de sorte que ce changement de comportement n'est pas présenté à la TextView niveau, mais plutôt à la Button niveau.

  3. Comme on le voit dans cette question d'hier, comment pouvons-nous obtenir android:elevation d'être à l'honneur sur un Button? Est-il un android:allowElevationToWorkAsDocumented="true" valeur que nous devons mettre dans un thème ou quelque chose?

  • Intéressant question et les résultats, tout changement vous sera possible de partager le projet de test avec nous?
  • Encore une fois, c'est le ElevationBasic de l'échantillon à partir de l'Android 5.0 échantillons, que vous pouvez télécharger à partir du SDK Manager. Je n'ai pas écrit l'échantillon, bien que j'ai modifié comme indiqué dans la question pour Button test.
  • My bad, je l'ai lu un peu trop vite 😉
InformationsquelleAutor CommonsWare | 2014-11-22