2017-06-29 6 views

答えて

2

を使用します。

styles.xml

<style name="CustomDialogTheme" parent="android:Theme.Dialog"> 
<item name="android:windowNoTitle">true</item> 
<item name="android:windowIsFloating">false</item> 
    <item name="android:windowBackground">@android:color/transparent</item> 
</style> 

windowNoタイトルバーから削除するために使用します。ウィンドウバックグラウンドは透過ウィンドウに設定されます.IsFloatingはfalseで、ダイアログビューをフルスクリーンに展開します。

カスタムDialog.java

public CustomDialog(Context context) { 
    super(context, R.style.CustomDialogTheme); 
    setContentView(R.layout.custom_dialog); 
} 

custom_dialog.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/dim_dialog_bg_color"> 

    <RelativeLayout 
     android:id="@+id/dialog_root" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:layout_marginLeft="50dp" 
     android:layout_marginRight="50dp" 
     android:background="@drawable/dialog_bg_color" 
     android:padding="16dp"> 

</RelativeLayout> 
0

変更]ダイアログボックスの[スタイルとそこには直接的な方法の回避策はありませんが、これはあなたのこのような

カスタムダイアログのテーマ役立つかもしれない、それを

<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog"> 
    <!-- Customize your theme here. --> 
    <item name="android:windowBackground">@color/red</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:clipToPadding">false</item> 
    <item name="android:windowFrame">@null</item> 
    <item name="android:textColorPrimary">@color/red</item> 
</style> 
+0

スタイルを変更するにはどうすればいいですか? –

+0

ダイアログyourDialog =新しいダイアログ(this、R.style.DialogTheme); –

0

これを試してみてください: あなたがColorDrawableにカラーコードを渡すことができます。

getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
+0

これは、現在のウィンドウを色で表示するだけで、ダイアログの暗い色ではありません。 –

+0

@nicko_yuan現在のウィンドウがダイアログであればダイアログに色を設定します – Shrikant

関連する問題