android在视图下方添加阴影

时间:2017-12-12 13:10:58

标签: android shadow

我只是尝试向我的LinearLayout添加阴影,使我的视图就像其他视图一样,就像这张图片facebook messenger

image

我从我的视图中尝试这个xml作为背景,但它看起来像一条线而不是阴影

<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:startColor="@color/black_alpha_12" 
android:endColor="@android:color/transparent" android:angle="90.0" />
</shape>

我在stackoverflow中尝试了很多xml代码没有人帮我制作像我想要的阴影

6 个答案:

答案 0 :(得分:1)

试试这个

getSupportActionBar().setElevation(10);

答案 1 :(得分:1)

使用

getSupportActionBar().setElevation(10);
  

但根据您的上述评论in my app i made an LinearLayout as ActionBar did this will work

比使用

YourView.setElevation(10);

答案 2 :(得分:0)

试试这个

  

getSupportActionBar()setElevation(10);

我先在这里回答了Example

希望这可以帮助你

答案 3 :(得分:0)

HI为阴影效果你可以cardview或view.setElevation(10);两者都有效。

REF - How to add shadow on CardView aligned to bottom of parent

REF - https://material.io/guidelines/material-design/elevation-shadows.html#

答案 4 :(得分:0)

使用<layer-list>设置视图背景。 喜欢这个

<TextView
  android:id="@+id/tv_item"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/keyboard_btn_bg"
    />

<强> keyboard_btn_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <size
                android:width="130dp"
                android:height="25dp" />
            <corners android:radius="8dp" />

            <padding
                android:bottom="2dp"/>
            <stroke
                android:width="0dp"
                android:color="#20000000" />
            <solid android:color="#20000000" />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <size
                android:width="160dp"
                android:height="25dp" />
            <corners android:radius="8dp" />
            <padding
                android:top="8dp"
                android:bottom="8dp"
                android:left="8dp"
                android:right="8dp"
                />
            <stroke
                android:width="1dp"
                android:color="#808080" />
            <solid android:color="#ffffff" />
        </shape>
    </item>

答案 5 :(得分:0)

属性提升仅在API级别21和更高版本中使用 例如,某些标签也可以不用,例如API 21中引入的布局中的新元素。

在xml中将height属性设置为10dp或8dp android:elevation =“ 10dp”