2016-07-28 74 views
0

我正在使用DialogFragment的Android应用程序。我想在打开对话框片段后面设置自己的颜色。如何在Android上的对话框片段后面设置自己的颜色?

现在它显示为浅黑色。

请看这张截图enter image description here

+0

那么,你想改变对话框背后的半透明黑色? – Shaishav

+0

@Shaishav yup。请帮忙 –

+0

用你的片段布局占据整个屏幕可能更容易,把它设置为你想要的颜色,然后居中放置另一个smallwer布局,中间是你想要的视图。 – Bonatti

回答

0

我没有尝试这样做我自己。但是你可以使用样式来尝试它。设置android:windowIsFloating为false,android:windowBackground到我的自定义颜色的对话风格:

styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="MyDialog" parent="@android:style/Theme.Dialog"> 
     <item name="android:windowBackground">@color/orange_transparent</item> 
     <item name="android:windowFrame">@null</item> 
     <item name="android:windowIsFloating">false</item> 
     <item name="android:gravity">center</item> 
     <item name="android:windowContentOverlay">@null</item> 
     <item name="android:windowTitleStyle">@null</item> 
     <item name="android:colorBackgroundCacheHint">@null</item> 
     <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> 
    </style> 

</resources> 

MyDialogFragment

public class MyDialogFragment extends DialogFragment { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setStyle(DialogFragment.STYLE_NO_TITLE, R.style.MyDialog); 
    } 
} 
+0

它不工作。 –

+0

它改变了什么吗? – Shaishav

+0

是的,它只设置对话框的背景,不是半透明的背景 –

0

I'haven't试过没,但你可以尝试这样的事情:

dialogFragment.getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(<your color>)); 
+0

它设置了对话框片段的背景,但没有设置半透明的背景 –

相关问题