1

这里可能重复,在那种情况下很抱歉......

我无法理解如何向我的 DialogFragment 添加自定义样式。目前我有课

public final class SelectFragment extends DialogFragment {

我从我的应用程序的不同部分调用它。例如,来自我的“CreateInvoice”类,如下所示:

private void showFragment(int selectedIndex) {
    SelectFragment fragment = SelectFragment.newInstance(selectedIndex, getOnOptionSelectListener());
    fragment.setStyle(DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Holo_Light_Dialog);
    fragment.show(getActivity().getSupportFragmentManager(), "");
}

我想要做的是将fragment.setStyle更改为自定义样式,例如使用我自己的配色方案作为边框、背景等的颜色。如果有人能引导我完成它,我将不胜感激,因为它是第一个我使用片段的时间。:-)

谢谢!

4

1 回答 1

1

我这样做的方法是简单地为您的对话框编写自己的布局,然后在显示片段时加载它

 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        // Get the layout inflater
        LayoutInflater inflater = getActivity().getLayoutInflater();

        // Inflate and set the layout for the dialog
        // Pass null as the parent view because its going in the dialog layout
        View v = inflater.inflate(R.layout.custom_dialog_layout, null, false);
        builder.setView(v)
        // Add action buttons
               .setPositiveButton(R.string.save_note, new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialog, int id) {
                       // do stuff 
                   }
               })
               .setNegativeButton(R.string.note_cancel, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                           //do stuff
                   }
               });      
于 2014-01-09T13:39:55.277 回答