2014-11-22 22 views
11

Malzeme tasarımındaki tam ekran iletişim kutuları, eylem çubuğu/araç çubuğunda onaylama ve onaylama eylemlerine sahip olmalıdır.Android Tam ekran iletişim kutusu onay ve reddedici eylemler

Material design fullscreen dialog

Benim sorum, ben bunu nasıl yapabilirim?

iletişim göstermek için:

getFragmentManager().beginTransaction() 
    .add(R.id.container, new MyDialogFragment()) 
    .addToBackStack(null).commit(); 

Benim diyalog fragmanı:

Yalnızca iki şey yapılması gereken
public class MyDialogFragment extends DialogFragment { 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.fragment_layout, container, false); 
    } 
} 
+1

gibi düzen dosyası görünüm neyi? Tam ekran iletişimini oluşturmakta sorun yaşıyorum ve bunu başarmışsınız gibi görünüyor. – Jon

+0

Yaşamakta olduğun zorlukları açıklayabilir misin? Düzenin kendisi basit ya da karmaşık olmalı, ister istemez, aktiviteler ve fragmanlar için düzenler yaptığınızı varsayalım. Tam ekran iletişim kutusu için tek görsel fark, kırmızıyla vurguladığım alanlar. – SunnySydeUp

+0

Bu sorunun (http://stackoverflow.com/questions/30684312/android-full-screen-dialog-callback-issue) bunu özetlediğini düşünüyorum. Varsayılan olarak diyalog tam ekran değildir. – Jon

cevap

19

:

  • Değişim yukarı simgesini
  • Add
  • parçasına bir menü

değiştirme simgesi:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.save_menu, menu); 
} 

R.menu.save_menu:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setHasOptionsMenu(true); 
    ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    ((ActionBarActivity) getActivity()).getSupportActionBar().setHomeAsUpIndicator(android.R.drawable.ic_menu_close_clear_cancel); 
} 

kaydet menüsünü ekle

<?xml version="1.0" encoding="utf-8"?> 
<menu 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:id="@+id/save 
     app:showAsAction="always|withText" 
     android:title="@string/save"/> 
</menu> 
+0

İletişim kutusu kapatıldığında etkinliğin işlem çubuğunu geri yüklemeniz gerekmez mi? – Gonzalo

İlgili konular