2015-09-27 90 views
2

鑑於下面的佈局,我預計BoxLayout是屏幕頂部的44px條,帶有兩個「日期時間」標籤的紅色背景。如屏幕截圖所示,標籤是他們預期的位置(所以盒子佈局的位置是正確的),紅色背景則不是這樣:BoxLayout錯誤位置的背景顏色

enter image description here

我確定我錯過了一些明顯的東西,因爲這是我第一次使用Kivy和KV。我嘗試使用畫布。{之前,之後}無濟於事。我錯過了什麼?預先感謝任何答案!

#:kivy 1.0 
# 
FloatLayout:  
    canvas: 
     Color: 
      # #263238 
      rgb: 0x26/255.0, 0x32/255.0, 0x38/255.0 

     Rectangle: 
      size: self.size 

    BoxLayout: 
     canvas: 
      Color: 
       rgb: 1, 0, 0 
      Rectangle: 
       size: self.size 

     orientation: 'horizontal' 
     padding: 10 
     spacing: 10 
     size_hint: 1, None 
     pos_hint: {'top': 1} 
     height: 44 

     Label: 
      height: 24 
      text_size: self.width, None 
      text: 'Date time' 

     Label: 
      height: 24 
      text_size: self.width, None 
      text: 'Date time 2' 

    Label: 
     text: 'testing' 

編輯:按圖騰的答案,將pos: self.pos到BoxLayout的畫布矩形的伎倆。

回答

2

就像你提到的,你是BoxLayout就是你想要的。它充滿了兩個標籤,這也是他們的意思。爲了讓所有這些背景看起來都很紅,您可以將標籤背景變成紅色。您已將BoxLayout設爲紅色,但標籤背後無法看到,而且我不完全確定如何使這些透明(我敢肯定這是可能的)。我想,學習kivy最終都是關於實驗的。

爲了使標籤具有紅色背景(給予您相同的效果),您可能可以使用各自的畫布,就像使用BoxLayout一樣,但使用canvas.before除外。你不需要再用浮動或箱子佈局來做。

從評論: 設置boxlayouts矩形位置pos: self.pos

+0

我改寫的問題。 – grendel

+0

我編輯了答案。 – Totem

+0

FloatLayout具有覆蓋整個屏幕的灰色背景(包括所有標籤)。紅色用於盒子佈局畫布 - 請注意,紅色條框是盒子佈局的高度,就好像Kivy重新定位並正確調整盒子佈局的大小,但由於某些原因,盒子佈局的畫布停留在盒子佈局的底部屏幕。此外,標籤默認顯示爲透明 - 因爲它們沒有背景顏色/畫布集,我們通過它們看到FloatLayout背景。 – grendel