I am trying to create a dynamic linear layout like in the image below :-
I am using the code below to achieve it :-
package com.example.buttondesigns;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.GradientDrawable.Orientation;
import android.graphics.drawable.LayerDrawable;
import android.view.Gravity;
import android.widget.LinearLayout;
public class CardLayout extends LinearLayout
{
public CardLayout(Context context, String color) {
super(context);
init(color);
}
private void init(String color) {
setGravity(Gravity.CENTER);
LayerDrawable backgroundDrawable = setLayerShadow(color);
setBackground(backgroundDrawable);
setPadding(15, 6, 15, 6);
LayoutParams params = new LayoutParams(new LayoutParams(
700,
500));
params.setMargins(75, 75, 5, 5);
setLayoutParams(params);
}
private LayerDrawable setLayerShadow(String color) {
GradientDrawable shadow;
try{
int[] colors1 = {Color.parseColor(color), Color.parseColor("#FFFFFF")};
shadow = new GradientDrawable(Orientation.TOP_BOTTOM, colors1);
shadow.setCornerRadius(2);
}
catch(Exception e){
int[] colors1 = {Color.parseColor("#419ED9"), Color.parseColor("#419ED9")};
shadow = new GradientDrawable(Orientation.TOP_BOTTOM, colors1);
shadow.setCornerRadius(2);
e.printStackTrace();
}
int[] colors = {Color.parseColor("#D8D8D8"), Color.parseColor("#E5E3E4")};
GradientDrawable backColor = new GradientDrawable(Orientation.BL_TR, colors);
backColor.setCornerRadius(2);
backColor.setStroke(5, Color.parseColor("#D8D8D8"));
//finally c.reate a layer list and set them as background.
Drawable[] layers = new Drawable[2];
layers[0] = backColor;
layers[1] = shadow;
LayerDrawable layerList = new LayerDrawable(layers);
layerList.setLayerInset(0, 0, 0, 0, 0);
layerList.setLayerInset(1, 0, 0, 5, 5);
return layerList;
}
}
I have created a dynamic linear layout with a dynamically generated layer list. By this, i have achieved this :-
I am not able to create that half orange color shadow effect on the top left of the layout. Any suggestions on how to achieve this ?