DialogFragment上的自定义样式

时间:2014-01-09 13:36:29

标签: java android android-fragments android-gui

这里可能重复,对不起那个......

我无法理解如何在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更改为自定义的,例如使用我自己的颜色方案作为边框上的颜色,背景等。我真的很感激,如果有人可以引导我通过它这是我第一次使用片段。 : - )

谢谢!

1 个答案:

答案 0 :(得分: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
                   }
               });