2016-04-07 27 views
1

Bazı görünümlerde, seçili öğenin adını AppBar'un başlığı olarak gösteriyorum. Ancak ad çok uzunsa, başlık etiketini içeren VBox etiketin prefWidth için büyür. Sonuçları ilk resimde görebilirsiniz. Bir geçici çözüm olarak etiket için maxWidth değerini ayarlayan appBar'a bir styleClass ekleyin. Farklı ekran boyutlarına ayarlanamaz çünküAppBar'daki başlık çok büyük büyüyor

view.setOnShown(e -> getAppBar().getStyleClass().add("myStyleClass")); 

işe yarıyor olsa da, böyle MaxWidth ayarlamak için kötü bir uygulamadır.

İkinci resimdeki sonucu nasıl elde edebilirim ve başlığın genişliği farklı ekran boyutlarına uyarlanabilir mi?

enter image description here

cevap

1

bir görünüm alt sınıfı, olabilir sahne boyutlarına göre etiketin maksimum genişliğini ayarlamak için bir hızlı ve kirli çözüm:

@Override 
protected void updateAppBar(AppBar appBar) { 
    appBar.setTitleText("Very very very long title"); 
    ((Label) appBar.getTitle()).maxWidthProperty().bind(appBar.getScene().widthProperty().subtract(100));  
} 

miktarı bağlıdır çıkarma Bu görünümde sahip olduğunuz düğme sayısı (nav simgesi, eylem simgeleri veya menü düğmesi).

+0

Evet, ben de böyle düşündüm. Kesinlikle daha iyi bir çözüm, ancak sabit değer kullanma fikrini sevdiğimden emin değilim, çünkü hala ek öğelerinizin boyutunu bilmek zorunda kalacaksınız. – jns

+1

Bu, yeni Charm 2.2.0 sürümünün [release] (http://gluonhq.com/gluon-mobile-2-2-0-released/) ile düzeltilmelidir. Kontrol edebilir misin? –

+0

Evet işe yarıyor. Çok hoş – jns

İlgili konular