gpt4 book ai didi

Android ImageView 投影

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:03:30 25 4
gpt4 key购买 nike

我正在尝试向 ImageView 添加阴影。 Stackoverflow 的另一个答案似乎是使用 Canvas 和位图等,比需要的复杂得多。

在 iOS 上我会做这样的事情:

myImageView.layer.shadowColor = [UIColor redColor].CGColor;
myImageView.layer.shadowRadius = 5;
myImageView.layer.shadowOffset = CGRectMake(0, 5);

它会渲染阴影,无论阴影是应用在 View 、图像还是文本上。

我已经尝试在 Android 上做同样的事情,但它就是拒绝工作:

birdImageView = new ImageView(context);
birdImageView.setImageResource(R.drawable.yellow_bird);

Paint paint = new Paint();
paint.setAntiAlias(true);


birdImageView.setLayerType(LAYER_TYPE_SOFTWARE, null);
paint.setShadowLayer(5, 0, 5, Color.argb(255, 255, 0, 0));
birdImageView.setLayerPaint(paint);

我根本没有在我的鸟类图像上看到任何预期的红色阴影。

我做错了什么吗?

例子

假设我想要这样的阴影:

drop shadow example

更新

我是否必须求助于 Android 5.0 和新的 Elevation API (http://developer.android.com/training/material/shadows-clipping.html)?

但如果要使用新的 API,那么根据当前的人口统计数据 (http://www.droid-life.com/2016/02/02/android-distribution-february-2016/),超过 50% 的用户将无法使用该应用。

T_T

最佳答案

在 android studio 中,构建 drawable 可用于将阴影应用于任何 View。这类似于投影。

android:background="@drawable/abc_menu_dropdown_panel_holo_light"

使用它您不能更改 View 的背景颜色及其边框颜色。如果您想要自己的自定义可绘制对象,请使用 layer-list

custom_drop_shadow_drawable.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--the shadow comes from here-->
<item
android:bottom="0dp"
android:drawable="@android:drawable/dialog_holo_light_frame"
android:left="0dp"
android:right="0dp"
android:top="0dp">

</item>

<item
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp">
<!--whatever you want in the background -->
<shape android:shape="rectangle">
<solid android:color="@android:color/red" />

</shape>
</item>
</layer-list>

and apply to your view like below

android:background="@drawable/custom_drop_shadow_drawable"

希望对您有所帮助!谢谢Android View shadow

关于Android ImageView 投影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35170407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com