タイトルはかなり自明です。
次のコードは、フローティングアクションボタンの下に影をレンダリングしません。影をレンダリングするために何ができますか?この機能はAPI 21+でもサポートされていませんか?
<Android.support.design.widget.FloatingActionButton
Android:layout_height="wrap_content"
Android:layout_width="wrap_content"
Android:src="@drawable/ic_add"
Android:clickable="true" />
注:Android:elevation
を追加しても、API 21にシャドウは追加されません。
Dandar3の例のスクリーンショット: https://github.com/dandar3/Android-support-design
app:borderWidth="0dp"
を設定するだけで、この問題を解決できます。
注:xmlns:app="http://schemas.Android.com/apk/res-auto"
をルートレイアウトに追加することを忘れないでください。
この issue は、Androidデザインライブラリの次のリリースで修正される必要があります。
API 21以降の場合、app:borderWidth="0dp"
およびapp:elevation="[number]dp"
。必要な影のサイズを与える標高を設定します。
API 21+のコードの例を次に示します。
<Android.support.design.widget.FloatingActionButton
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/locate_user_FAB"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/location_off"
app:elevation="6dp"
app:borderWidth="0dp"
Android:layout_above="@+id/take_taxi_FAB"
app:backgroundTint="@color/colorAccentGrey">
21以下(Android 4)のAPIについて覚えておくべき重要なことの1つは、互換性の観点から、FABはボタンの周囲にマージンを置いて影を描画することです。その後、あなたはそのようなことをする必要があります(私は現在このコードを使用しており、動作しています):
<Android.support.design.widget.FloatingActionButton
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/locate_user_FAB"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/location_off"
app:elevation="6dp"
app:borderWidth="0dp"
Android:layout_above="@+id/take_taxi_FAB"
Android:layout_alignParentRight="true"
Android:layout_marginRight="@dimen/map_FAB_marginRight"
Android:layout_marginBottom="@dimen/locate_user_FAB_marginBottom"
app:backgroundTint="@color/colorAccentGrey">
xmlns:app="http://schemas.Android.com/apk/res-auto"
XMLの冒頭にありますが、念のためにそこに配置しました;]
これでもまだ機能しない場合は、次の間に大きな違いがあります。
app:elevation="6dp"
app:borderWidth="0dp"
そして
app:borderWidth="0dp"
app:elevation="6dp"
何らかの理由で順序が重要であるようで(最初の順序は機能しますが、2番目は機能しません)、これはサポートライブラリ23.3.0からのものです
アプリケーションタグのプロジェクトまたはライブラリのマニフェストを確認し、削除それら
Android:hardwareAccelerated="false"
Android:largeHeap="true"
ただし、これらのオプションが必要な場合、シャドウと変換アニメーションは機能しません
それが役立つ場合、私は使用していました
Android:tint="@color/myColor"
の代わりに
Android:backgroundTint="@color/myColor".
色合いをbackgroundTintに置き換えると、影が戻ります。