Android LinearLayout:在 LinearLayout 周围添加带阴影的边框

新手上路,请多包涵

我想创建与示例相同的此 LinearLayout 边框:

在此处输入图像描述

在此示例中,我们可以看到 linearLayout 周围的边框并不相同。我如何使用 XML 可绘制文件创建它?

现在,我只能像这样在 LinearLayout 周围创建一个简单的边框:

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
  <corners
      android:radius="1dp"
      android:topRightRadius="0dp"
      android:bottomRightRadius="0dp"
      android:bottomLeftRadius="0dp" />
  <stroke
      android:width="1dp"
      android:color="#E3E3E1" />

  <solid android:color="@color/blanc" />

</shape>

原文由 wawanopoulos 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

试试这个..

 <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#CABBBBBB"/>
            <corners android:radius="2dp" />
        </shape>
    </item>

    <item
        android:left="0dp"
        android:right="0dp"
        android:top="0dp"
        android:bottom="2dp">
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white"/>
            <corners android:radius="2dp" />
        </shape>
    </item>
</layer-list>

原文由 Hariharan 发布,翻译遵循 CC BY-SA 3.0 许可协议

这就是 CardView 存在的原因。 卡片视图 |安卓开发者

它只是一个在棒棒糖之前的设备中支持提升的 FrameLayout。

 <android.support.v7.widget.CardView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:cardUseCompatPadding="true"
    app:cardElevation="4dp"
    app:cardCornerRadius="3dp" >

    <!-- put whatever you want -->

</android.support.v7.widget.CardView>

要使用它,您需要将依赖项添加到 build.gradle

 compile 'com.android.support:cardview-v7:23.+'

原文由 Ray Suhyun Lee 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题