Iva*_*que 3 xml android view android-layout android-drawable
我一直在这里遵循这个教程中 - 对角线切割视图来获得对角线视图效果
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" />
<item>
<bitmap
android:src="@drawable/bebe"
android:gravity="center"
android:alpha="0.1" />
</item>
<item android:top="260dp"
android:bottom="-100dp"
android:left="0dp"
android:right="-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>
Run Code Online (Sandbox Code Playgroud)
到目前为止,代码几乎相同并且效果已经实现,但只适用于Lollipop +,我已经搜索过但无法找到如何在drawable上面进行颜色叠加以实现同样的效果并且我的所有尝试都在徒劳的.
drawable位于RelativeLayout的background属性中.我试图在2个分离的ImageView中创建它,一个用于背景图像,一个用于颜色叠加,但是这不适用于对角线样式.
如何才能为棒棒糖前版本实现这种效果?
Drawable background = relativeLayout.getBackground();
background.setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.SRC_IN);
Run Code Online (Sandbox Code Playgroud)
你也可以尝试SRC_ATOP或MULTIPLY取决于所需的效果.
=========编辑========================
好吧,我想我现在能更好地理解你的要求.起初并不完全清楚.
你不是在问每个人说的颜色叠加,或者更确切地说,这不是你的问题所在.您的问题在于您依赖alpha属性.
做到这一点,我已经重新排序的元素,使花形那张图像的顶部,而不是使图像透明的,我们做的彩色形状的颜色有一个指定的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>
Run Code Online (Sandbox Code Playgroud)
这就是Jelly Bean的样子.