Ich versuche, einem LinearLayout (in einem Fragment) Elevation hinzuzufügen. Auf meinem Gerät mit Android Nougat ist alles in Ordnung, aber auf Marshmellow oder Lollipop gibt es überhaupt keine Schatten. Was könnte das Problem sein?Programmatisch hinzugefügte Elevation wird nicht auf Lollipop- oder Marshmallow-Geräten angezeigt
LinearLayout ll = (LinearLayout) getActivity().findViewById(R.id.main_ll_newproducts);
ll.setBackgroundColor(Color.rgb(50,50,50));
LinearLayout llProduct = new LinearLayout(getContext());
llProduct.setBackgroundResource(R.drawable.product_selection_background);
llProduct.setOrientation(LinearLayout.HORIZONTAL);
llProduct.setPadding(20,0,0,0);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
llProduct.setElevation(8);
}
llProduct.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
//Layoutparams
LayoutParams layParam = (LayoutParams) ll.getLayoutParams();
layParam.setMargins(10,10,10,30);
layParam.width = LayoutParams.MATCH_PARENT;
layParam.height = LayoutParams.WRAP_CONTENT;
// /Layoutparams
llProduct.setLayoutParams(layParam);
danach füge ich noch ein paar Ansichten wie Textviews und einen Imageview und dann füge ich dieses Linearlayout an ihrer Mutter.
ll.addView(llProduct);