我無法用setElevation繪製陰影。我不想使用圖形來執行此操作。這是代碼:
這是父母。
Page.xml
setElevation不顯示陰影
<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>
我在這裏建立一個簡單的佈局。
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
*/
此背景
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>
我想我的錯誤的解釋。
我也想知道如何使用LOLLIPOP之前的版本。
棒棒糖及以上的解決方案。獲取子視圖以顯示陰影的正確方法是在父級上設置填充,並在該父級上設置「android:clipToPadding =」false「」。這是解釋。 對於wick.ed:https://stackoverflow.com/a/27518160/886148 –
:當你看到填充那裏,但即使我添加你的解決方案不起作用 – Thorny84
你有沒有添加填充到父級佈局?你能告訴我更新的代碼嗎?此外,'顏色/背景' –