java 如何使用框阴影进行相对布局

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/29248086/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-02 14:54:54  来源:igfitidea点击:

How to make relative layout with box shadow

javaandroid

提问by Yogendra

enter image description here

在此处输入图片说明

How do i make the relative layout look like the image

我如何使相对布局看起来像图像

回答by Yogendra

There are two ways to create shadow:

有两种方法可以创建阴影:

  1. If sdk version is lower than 5.0...

    A. You can also use android drawable image

    android:background="@android:drawable/dialog_holo_light_frame"
    

    B. Use below shadow_round.xmlto make a drawable background for shadow of view. android:background="@drawable/shadow_round

     <!-- Drop Shadow Stack -->
     <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#00CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#10CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#20CCCCCC" />
        </shape>
    </item>
     <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#30CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#50CCCCCC" />
        </shape>
    </item> 
    
    <!-- Background -->
    <item>
    <shape>
        <solid android:color="#ffffff" />
        <corners android:radius="10dp" />
    </shape>
    </item>
    

  2. If you are using SDK 5.0 or greater then use the view's elevationproperty.

    android:elevation="2dp"
    
  1. 如果sdk版本低于5.0...

    A. 你也可以使用android drawable image

    android:background="@android:drawable/dialog_holo_light_frame"
    

    B. 使用下面shadow_round.xml为视图的阴影制作可绘制的背景。android:background="@drawable/shadow_round

     <!-- Drop Shadow Stack -->
     <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#00CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#10CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#20CCCCCC" />
        </shape>
    </item>
     <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#30CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="2dp" android:left="1dp" />
            <corners android:radius="10dp" />
            <solid android:color="#50CCCCCC" />
        </shape>
    </item> 
    
    <!-- Background -->
    <item>
    <shape>
        <solid android:color="#ffffff" />
        <corners android:radius="10dp" />
    </shape>
    </item>
    

  2. 如果您使用的是 SDK 5.0 或更高版本,则使用视图的高程属性。

    android:elevation="2dp"
    

回答by sushant singh

simple add elevation property in your relative layout. or create xml in drowable folder and call as a background

简单地在相对布局中添加高程属性。或在 drowable 文件夹中创建 xml 并作为背景调用

   <?xml version="1.0" encoding="utf-8"?>

       <shape  
             xmlns:android="http://schemas.android.com/apk/res/android"
             android:shape="rectangle">
       <solid android:color="#ddd" />
       <stroke
           android:width="5dp"
           android:color="#b8b9b9" />
       <corners
           android:radius="3dp" />
       </shape>

回答by cyberlobe

Try this code:- radius.xml

试试这个代码:- radius.xml

:- this xml add in drawable folder in and relative layout in background in set

:- 此 xml 添加在可绘制文件夹中,并在背景中添加相对布局

android:background="@drawable/radius"

<shape android:shape="rectangle">
    <solid android:color="#FFFFFF"/>
    <stroke android:width="2dp" android:color="#b8b9b9"/>
    <corners android:bottomLeftRadius="3dp" android:bottomRightRadius="3dp" android:topLeftRadius="3dp" android:topRightRadius="3dp"/>
</shape>