1

DialogFragment クラスから継承して、独自のダイアログを実装しました。

このデフォルト ダイアログの背景色を変更したいと考えています。

いくつかの方法を試しましたが、どれもうまくいかないようです。以下の onCreateDialog() メソッドが表示されている場合は、カスタム ダイアログ スタイルを使用しています。

public class ConfirmationDialogFragment extends SherlockDialogFragment {

String mTextMessage = "Would you like to save the message"; 
String mTextButtonOk = "Ok";
TestDialogInterface dialogInterface = null;

public void setDialogInterface(TestDialogInterface dialogInterface) {
    this.dialogInterface = dialogInterface;
}

/**
 */
public ConfirmationDialogFragment() {       
}

public void setTextMessage(String mTextMessage) {
    this.mTextMessage = mTextMessage;
}


@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getActivity(), R.style.AlertDialogCustom));
    builder.setMessage(mTextMessage)
           .setPositiveButton(mTextButtonOk, new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   dismiss();
               }
           })
           .setCancelable(false);                
    builder.setTitle("Loan Extension");
    Dialog dialog = builder.create();
    return dialog;
}   

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = super.onCreateView(inflater, container, savedInstanceState);
    return view;        
}

public class TestDialogInterface{
    public void onYes(){}
    public void onNo(){}        
}    

}

スタイルファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AlertDialogCustom" parent="@android:style/Theme.DeviceDefault.Light.Dialog">        
        <item name="android:windowBackground">@color/red</item>
        <item name="android:colorBackground">@color/red</item>                              
    </style>
</resources>

ただし、windowBackground スタイル項目は効果がないようです。このデフォルトのダイアログの背景色を変更する必要があります。

誰もが手がかりを持っていますか????

4

3 に答える 3

2

カスタムダイアログを作成することをお勧めします。ヘルプのために

http://developer.android.com/guide/topics/ui/dialogs.html#CustomDialog

また

http://www.androidpeople.com/android-custom-dialog-example

于 2012-11-28T13:50:49.170 に答える
1

ルート ビュー、線形レイアウトなどの背景色を変更します。

于 2014-11-16T19:51:57.940 に答える