如何制作带阴影的圆角边框

How to make rounded border with shadow

如何在屏幕底部制作这样的视图?我可以制作一个带有圆形边框的视图,但是绿色阴影呢?

你可以使用碳得到彩色阴影

https://github.com/ZieIony/Carbon

将以下行添加到依赖项中:

 api 'tk.zielony:carbon:0.16.0.1'

将语言兼容性选项添加到 build.gradle:

android {
...

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    }
 }

为build.gradle添加数据绑定支持:

android {
...

dataBinding {
    enabled = true
   }
}

要将 Carbon 与 ProGuard 一起使用,请将以下规则添加到您的 ProGuard:

-dontwarn carbon.BR
-dontwarn carbon.internal**
-dontwarn java.lang.invoke**

-dontwarn android.databinding.**
-keep class android.databinding.** { *; }

你可以在carbon的github中找到如下图片和代码:

代码:

<carbon.widget.LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

<carbon.widget.Button
    android:layout_width="56dp"
    android:layout_height="56dp"
    android:layout_margin="@dimen/carbon_padding"
    android:background="#ffffff"
    app:carbon_cornerRadius="2dp"
    app:carbon_elevation="8dp"
    app:carbon_elevationShadowColor="@color/carbon_red_700"/>

</carbon.widget.LinearLayout>

卡片视图:

<carbon.widget.LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

<carbon.widget.LinearLayout
    android:layout_width="match_parent"
    android:layout_height="160dp"
    android:layout_margin="@dimen/carbon_margin"
    android:background="#ffffff"
    app:carbon_cornerRadius="2dp"
    app:carbon_elevation="8dp"
    app:carbon_elevationShadowColor="@color/carbon_red_700">

    <carbon.widget.ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:src="@drawable/test_image"/>

    <carbon.widget.TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="test text"/>
    </carbon.widget.LinearLayout>

</carbon.widget.LinearLayout>