Ich kann den Schatten nicht mit setElevation zeichnen. Ich möchte keine Zeichnung dafür verwenden. Hier ist der Code:
Dies ist das übergeordnete Element.
page.xml
setElevation zeigt keinen Schatten
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/background">
<LinearLayout
android:id="@+id/pp_cont_new_list"
android:background="@color/background"
android:layout_width="match_parent"
android:layout_height="150dp"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:paddingTop="5dp">
</LinearLayout>
</LinearLayout>
Hier baue ich ein einfaches Layout.
PersonalPage.Java
final LinearLayout ROOT = (LinearLayout) findViewById(R.Id.pp_cont_new_list);
final LinearLayout LL = new LinearLayout(context); //Container
LL.setLayoutParams (new LinearLayout.LayoutParams(
Generic.PARAM_MP, //eq. match_parent
(int) context.getResources().getDimension (R.dimen.bt_preview_list_height)
));
LL.setBackgroundResource (R.drawable.background_new_list);
LL.setElevation (5f);
LL.setClickable (true);
ROOT.addView(LL);
/*
* other code inner the container
*/
dieser Hintergrund
background_new_list.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="10dp"/>
<solid android:color="@color/background"/>
</shape>
</item>
<item>
<ripple android:color="@color/textColorAlpha"/>
</item>
</layer-list>
ich eine Erklärung für meinen Fehler möchte.
Und ich würde auch gerne wissen, was für Pre-LOLLIPOP zu verwenden.
Lösung für Lollipop und oben. Der richtige Weg, um eine Child-View zum Anzeigen von Shadow zu bekommen, besteht darin, Padding auf den Parent zu setzen und 'android: clipToPadding =" false "' auf diesem Parent zu setzen. Hier ist die Erklärung. https://Stackoverflow.com/a/27518160/886148 –
für wick.ed: Wie Sie die Auffüllung sehen, aber auch wenn ich Ihre Lösung hinzufügen funktioniert nicht – Thorny84
haben Sie Padding zum übergeordneten Layout hinzufügen? Können Sie mir den aktualisierten Code zeigen? Auch der Wert für "color/background" –