5

これは私の FAB 定義です。

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/button_capture_action_show_options"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:focusable="true"
        android:src="@drawable/c"

ロリポップ以前のデバイスでレンダリングすると余分なパディングがあるようで、それを削除できないようです。

ロリポップ レンダリング:

ロリポップ

ロリポップ前のレンダリング:

ロリポップ前

どんな提案でも大歓迎です..

4

2 に答える 2

4

これは、Lollipop 以前のデバイスの FAB でパディングが実装されているためです。

Lollipop よりも前にそれを削除する方法はわかりませんがapp:useCompatPadding="true"、レイアウト定義で FAB を設定するか、setUseCompatPaddingを使用することで、一貫性を持たせることができます (つまり、Lollipop 以降でパディングを増やします) 。

影の描画方法が原因で、このように動作します。

于 2016-07-12T16:50:39.833 に答える
0

したがって、これを行う「公式」の方法があるかどうかはまだわかりませんが、最終的に次のことを行いました。

        if (!isLollipopAndAbove()) {
            RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) tab.getLayoutParams();
            params.setMargins(0, 0, 0, 0);
            tab.setLayoutParams(params);
        }

ああ、はい、変更する必要があったのはパディングではなくマージンでした

于 2015-11-03T18:30:04.153 に答える