Создать тень для диалога

Я хочу создать тень для моего настраиваемого диалога?

GhazalActivity.public void viewShareMenu() { Dialog share=new Dialog(this,R.style.shareDialogStyle); share.setContentView(R.layout.share_popup_layout); LayoutParams params = share.getWindow().getAttributes(); params.y = this.getResources().getDimensionPixelSize(R.dimen.topbar_height); params.gravity=(Gravity.RIGHT|Gravity.TOP); share.getWindow().setAttributes(params); share.show(); } 

Styles.xml:

 <style name="shareDialogStyle" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@color/transparent</item> <item name="android:windowNoTitle">true</item> <item name="android:fadeEnabled">true</item> <item name="android:fadeDuration">1500</item> <item name="android:shadowColor">@color/temp</item> <item name="android:shadowDx">0</item> <item name="android:shadowDy">5</item> <item name="android:shadowRadius">10</item> <item name="android:backgroundDimEnabled">false</item> </style> 

Share_popup_layout.xml:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="150dip" android:background="@color/bg_Ghazal_share_menu" android:layout_height="wrap_content" android:orientation="vertical" > <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" style="@style/shareDialogButtons"/> </LinearLayout> 

Есть ли решение для этого?

Я создал свой собственный диалог с отброшенной тенью, вы можете использовать его как свое желание, на первом этапе вам нужно создать форму Android для тени и диалогового фрейма. Вот что я поставил ( dialog_frame_shadow.xml ):

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <!-- this shape is used as shadow --> <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp"/> <solid android:color="#44000000"/> <corners android:radius="5dp"/> </shape> </item> <item> <shape android:shape="rectangle"> <!-- this is for dialog frame --> <corners android:radius="5dp"/> <stroke android:color="#ff272727" android:width="2dp" /> <gradient android:angle="90" android:startColor="#ffa7a7a7" android:centerColor="#ff6a6a6a" android:endColor="#ffa7a7a7" android:type="linear"/> </shape> </item> </layer-list> 

На следующем шаге вы должны изменить свою тему диалога так, как показано ниже:

  <style name="my_dialog_theme"> ... <item name="android:windowBackground">@drawable/dialog_frame_shadow</item> ... </style> 

Теперь вы закончили, просто создайте новый экземпляр класса Dialog и примените к нему эту тему (в конструкторе диалога):

 Dialog dialog = new Dialog(this, R.style.my_dialog_theme); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.mdialog); dialog.show(); 

Вот его скриншот:
Введите описание изображения здесь

Попробуйте это, создайте xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#ffffff" android:centerColor="#d3d7cf" android:endColor="#2e3436" android:angle="90" /> </shape> 

Сделать вид и установить выше xml в его backgroung, как:

  <View android:id="@+id/divider" android:background="@drawable/black_white_gradient" android:layout_width="match_parent" android:layout_height="5sp" <!--greater the height, more wider the shadow--> /> 

Теперь, если вы хотите отбросить тень слева от вашего представления, выровняйте это представление с вами влево, если хотите тени внизу, выровняйте этот вид под своим видом … надеюсь, что вы его получите сейчас