我一直在这里按照本教程Medium - Diagonal Cut View获得对角线视图效果
Object
到目前为止代码几乎相同并且效果已经实现,但只适用于Lollipop +,我已搜索但无法找到如何在drawable顶部进行颜色叠加以实现同样的效果和所有尝试已经白费了。
drawable位于RelativeLayout的background属性中。我试图在2个分离的ImageView中创建它,一个用于背景图像,一个用于颜色叠加,但是它没有正确应用对角线样式。
如何为棒棒糖前版本实现此效果?
答案 0 :(得分:7)
Drawable background = relativeLayout.getBackground();
background.setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.SRC_IN);
您还可以尝试SRC_ATOP
或MULTIPLY
,具体取决于所需的效果。
=========编辑========================
好的,我想我现在更清楚你在问什么了。起初并不完全清楚。
你不是在问每个人说的颜色叠加,或者更确切地说,这不是你的问题所在。您的问题在于您依赖于alpha属性。
这样做,我重新排序了你的元素,使彩色的形状位于图像的顶部,而不是使图像透明,我们使彩色形状的颜色具有指定的字母字节。您可以根据需要更改颜色和alpha。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap
android:gravity="center"
android:src="@drawable/muse15fence_750"/>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="#cc3F51B5"/>
</shape>
</item>
<item
android:bottom="-100dp"
android:left="0dp"
android:right="-260dp"
android:top="260dp">
<rotate
android:fromDegrees="-10"
android:pivotX="0%"
android:pivotY="100%">
<shape
android:shape="rectangle">
<solid
android:color="@android:color/white"/>
</shape>
</rotate>
</item>
</layer-list>
这就是Jelly Bean的样子。