2014-01-09 6 views
0

Возможные продублировать здесь, извините, в этом случае ...Пользовательский стиль на DialogFragment

я не могу получить мою голову вокруг, как добавить собственный стиль в моей 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 к обычаю один, например, с моей собственной цветовой гаммой, как цвет на границе, фон и т.д. . И я был бы очень признателен, если бы кто-нибудь смог пройти через меня, так как это первый раз, когда я работал с фрагментами. :-)

Спасибо!

+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 
        } 
       });  
Смежные вопросы