2016-03-30 8 views
-1

カスタムの背景影をどのようにして暗くしますかapp.Dialogは暗いですか?app.Dialogシャドウを暗くする

期待

enter image description here

リアリティ

enter image description here

私が試したもの:

1)MyDialog dialog = new MyDialog (mContext); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.BLACK)); dialog.show();

2)MyDialog dialog = new MyDialog (mContext, R.style.NewDialog); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.BLACK)); dialog.show();

R.style.NewDialog:。

<!-- This style removes shadow but I need to make it darker.--> 
<!-- Don't know which parameter needed to change for that--> 
<style name="NewDialog"> 
    <item name="android:windowFrame">@null</item> 
    <item name="android:windowBackground">@android:color/transparent</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowTitleStyle">@null</item> 
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> 
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> 
    <item name="android:backgroundDimEnabled">false</item> 
    <item name="android:background">@android:color/transparent</item> 
</style> 

答えて

0

それが仕事することができる次のカスタムクラス、

import android.app.AlertDialog; 
import android.app.Dialog; 
import android.app.DialogFragment; 
import android.content.DialogInterface; 
import android.os.Bundle; 
import android.view.Window; 

import com.stackexmples.R; 

/** 
* Created by windws on 30-Mar-16. 
*/ 
public class AlertDFragment extends DialogFragment { 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     return new AlertDialog.Builder(getActivity()) 
       // Set Dialog Icon 
       .setIcon(R.drawable.androidhappy) 
         // Set Dialog Title 
       .setTitle("Alert DialogFragment") 
         // Set Dialog Message 
       .setMessage("Alert DialogFragment Tutorial") 

         // Positive button 
       .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         // Do something else 
        } 
       }) 

         // Negative Button 
       .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         // Do something else 
        } 
       }).create(); 
    } 
    @Override 
    public void onStart() { 
     super.onStart(); 
     Window window = getDialog().getWindow(); 
     window.setBackgroundDrawableResource(android.R.color.transparent); 
    } 
} 

ウィンドウのウィンドウを試してみてください= getDialog()は、GetWindow(); window.setBackgroundDrawableResource(android.R.color.transparent);

はonCreate()で機能しません。これはonStart()に作用します。

+0

変更なし。 'dialog.getWindow()。setBackgroundDrawable(new ColorDrawable(Color.BLACK));' – AnZ

+0

このダイアログを表示するにはどうすればいいですか? – AnZ

+0

AlertDFragment alertDFragment = new AlertDFragment(); newFragment.show(getFragmentManager()、 "dialog"); –

関連する問題