我正在处理最奇怪的情况。我在布局文件中有三个按钮。其中一个投下阴影,两个没投影。即使我将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
是没有阴影的。
答案 0 :(得分:1)
将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"
>
如果您不需要额外的保证金,这可能是更好的解决方案。