SORU
18 EYLÜL 2012, Salı


Nasıl DialogFragment's genişliği ve yüksekliği ayarlamak için?

Ben belirtmek düzeni benim DialogFragment bir xml layout dosyası (hadi Ara layout_mydialogfragment.xml) ve layout_width layout_height öznitelikleri özellikle (100dp her diyelim). Ben o zaman şöyle: benim DialogFragment bu düzen onCreateView(...) yöntem şişirmek

View view = inflater.inflate(R.layout.layout_mydialogfragment, container, false);

Ne yazık ki, bulduğum zaman benim iletişim (DialogFragment) görünür, değil saygı layout_width layout_height belirtilen kendi düzeni xml dosyası (ve benim iletişim küçülür veya genişler degisken bağlı olarak içerik). Kimse mi bilmiyor ya da benim iletişim layout_width saygı nasıl alabilirim ve layout_height xml layout dosyasında belirtilen? Şöyle benim iletişim genişlik ve yükseklik benim DialogFragment yine onResume() ... ... belirtmek için yaşıyorum şu an yöntemi

getDialog().getWindow().setLayout(width, height);

... Ve böylece, undesirably, iletişim genişliğine göre gelecekteki herhangi bir değişiklik yapmak için hatırlamak zorunda ve iki yerden yüksekliği.

CEVAP
16 EKİM 2012, Salı


Doğrudan kaynak değerleri dönüştürme:

int width = getResources().getDimensionPixelSize(R.dimen.popup_width);
int height = getResources().getDimensionPixelSize(R.dimen.popup_height);        
getDialog().getWindow().setLayout(width, height);

Belirtin iletişim için düzeni match_parent sonra:

android:layout_width="match_parent"
android:layout_height="match_parent"

Sadece bir yerde yerleştirmek DialogFragment#onResume () hakkında endişelenmenize gerek. Onun mükemmel değil, ama en azından iletişim düzeni dosyası root olarak bir RelativeLayout olması için çalışıyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • B3ASTTY™

    B3ASTTY™

    27 Mayıs 2013
  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • David Wills

    David Wills

    31 Aralık 2007