一个按钮有阴影,两个没有:我不知道为什么
one button shows shadow and two don’t: I cannot tell why
我正在处理最奇怪的情况。我在布局文件中有三个按钮。其中一个投下阴影,两个不投射。即使我将 android:elevation="10dp”
添加到其中一个不投射阴影的按钮,它们仍然不会。这是 xml
<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:showIn="@layout/activity_look">
<Button
android:id="@+id/new_look"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/sel_ripple"
android:backgroundTint="@color/colorAccent"
android:text="New look"
android:textColor="@color/white"
android:textSize="@dimen/look_btn"/>
<LinearLayout
android:id="@+id/btn_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/16dp"
android:layout_marginTop="@dimen/16dp"
android:orientation="horizontal"
android:padding="@dimen/8dp"
android:visibility="gone"
>
<Button
android:id="@+id/btn_yes"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:layout_marginRight="@dimen/32dp"
android:layout_weight="1"
android:background="@drawable/sel_ripple"
android:backgroundTint="@color/colorAccent"
android:text="@string/yes"
android:textColor="@color/white"
android:textSize="@dimen/look_btn"
/>
<Button
android:id="@+id/btn_no"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:layout_weight="1"
android:background="@drawable/sel_ripple"
android:backgroundTint="@color/colorAccent"
android:text="@string/no"
android:textColor="@color/white"
android:textSize="@dimen/look_btn"
/>
</LinearLayout>
…
</LinearLayout>
ban_yes
和 ban_np
是没有显示阴影的。
将 layout_marginBottom 添加到布局内的按钮。这为按钮提供了一些空间来显示它的高度
<Button
android:id="@+id/btn_yes"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:layout_marginRight="@dimen/32dp"
android:layout_weight="1"
android:background="@drawable/sel_ripple"
android:backgroundTint="@color/colorAccent"
android:text="@string/yes"
android:textColor="@color/white"
android:textSize="@dimen/look_btn"
android:layout_marginBottom="8dp"
/>
编辑:另一种方法是,在包装按钮的布局上,使用
<LinearLayout
android:id="@+id/btn_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/16dp"
android:layout_marginTop="@dimen/16dp"
android:orientation="horizontal"
android:padding="@dimen/8dp"
android:visibility="gone"
android:clipToPadding="false"
>
如果您不需要额外的边距,这可能是更好的解决方案。
我正在处理最奇怪的情况。我在布局文件中有三个按钮。其中一个投下阴影,两个不投射。即使我将 android:elevation="10dp”
添加到其中一个不投射阴影的按钮,它们仍然不会。这是 xml
<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:showIn="@layout/activity_look">
<Button
android:id="@+id/new_look"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/sel_ripple"
android:backgroundTint="@color/colorAccent"
android:text="New look"
android:textColor="@color/white"
android:textSize="@dimen/look_btn"/>
<LinearLayout
android:id="@+id/btn_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/16dp"
android:layout_marginTop="@dimen/16dp"
android:orientation="horizontal"
android:padding="@dimen/8dp"
android:visibility="gone"
>
<Button
android:id="@+id/btn_yes"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:layout_marginRight="@dimen/32dp"
android:layout_weight="1"
android:background="@drawable/sel_ripple"
android:backgroundTint="@color/colorAccent"
android:text="@string/yes"
android:textColor="@color/white"
android:textSize="@dimen/look_btn"
/>
<Button
android:id="@+id/btn_no"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:layout_weight="1"
android:background="@drawable/sel_ripple"
android:backgroundTint="@color/colorAccent"
android:text="@string/no"
android:textColor="@color/white"
android:textSize="@dimen/look_btn"
/>
</LinearLayout>
…
</LinearLayout>
ban_yes
和 ban_np
是没有显示阴影的。
将 layout_marginBottom 添加到布局内的按钮。这为按钮提供了一些空间来显示它的高度
<Button
android:id="@+id/btn_yes"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:layout_marginRight="@dimen/32dp"
android:layout_weight="1"
android:background="@drawable/sel_ripple"
android:backgroundTint="@color/colorAccent"
android:text="@string/yes"
android:textColor="@color/white"
android:textSize="@dimen/look_btn"
android:layout_marginBottom="8dp"
/>
编辑:另一种方法是,在包装按钮的布局上,使用
<LinearLayout
android:id="@+id/btn_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/16dp"
android:layout_marginTop="@dimen/16dp"
android:orientation="horizontal"
android:padding="@dimen/8dp"
android:visibility="gone"
android:clipToPadding="false"
>
如果您不需要额外的边距,这可能是更好的解决方案。