SORU
11 Temmuz 2012, ÇARŞAMBA


ActionBar bir DialogFragment içinde

Takvim benim Galaxy Tab yeni bir etkinlik oluştururken 10.1, uygulama bir iletişim kutusu başlık çubuğu/action bar alanında Yapılan ve İptal düğmeleri ile geliyor.

enter image description here

Benim app bunu uygulamak istiyorum. DialogFragment benim alt onCreateOptionsMenu geçersiz kılma ek olarak setHasOptionsMenu(true) kullanarak denedim, ama eylem benim öğeleri görünmüyor. Ayrıca onCreateView içinde getDialog().getActionBar() aramayı denedim ama hep null döndürür.

Eğer bir iletişim göstermek yerine Activity Bir başlarsam bu çalışma almak mümkün değilim ama bu tüm ekranı kaplıyor. Bu DialogFragment kullanarak yapmak için standart bir yol var mı?

CEVAP
5 EYLÜL 2012, ÇARŞAMBA


google group post ben, bu fikri kullanarak bir aktivite stil koparmak başardı. yüksekliğini değiştirmek için "" boyutu seçiminiz tercihen. dinamik bir genişlik isteyeyim İstediğiniz herhangi bir zaman ayarlayın

<style name="PopupTheme" parent="android:Theme.Holo.Light.Dialog">
    <item name="android:windowIsFloating">false</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowSoftInputMode">stateAlwaysHidden</item>
    <item name="android:windowActionModeOverlay">true</item>
    <item name="android:windowIsTranslucent">true</item>
</style>

--

public static void showAsPopup(Activity activity) {
    //To show activity as dialog and dim the background, you need to declare android:theme="@style/PopupTheme" on for the chosen activity on the manifest
    activity.requestWindowFeature(Window.FEATURE_ACTION_BAR);
    activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND,
            WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    LayoutParams params = activity.getWindow().getAttributes(); 
    params.height = 850; //fixed height
    params.width = 850; //fixed width
    params.alpha = 1.0f;
    params.dimAmount = 0.5f;
    activity.getWindow().setAttributes((android.view.WindowManager.LayoutParams) params); 
    setContentView(R.layout.activity_main);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • Julian Smith

    Julian Smith

    31 EKİM 2006
  • TheXiaxue

    TheXiaxue

    3 AĞUSTOS 2009