1
Kivyリストビューの行間に垂直パディングを適用できますか?リストビューとgridlayoutの両方でkvファイルのパディングを修正してみました。行間のKivyリストビューのパディング
+++++++
+ Row +
+++++++
+ Pad +
+++++++
+ Row +
+++++++
Kivyリストビューの行間に垂直パディングを適用できますか?リストビューとgridlayoutの両方でkvファイルのパディングを修正してみました。行間のKivyリストビューのパディング
+++++++
+ Row +
+++++++
+ Pad +
+++++++
+ Row +
+++++++
以下はあなたのListItemの外観を変更することができListAdapterとlist_items_arg_converterを使用してリストビュー項目の間にパディングを追加します。基になるGridLayoutのパディングは変更されませんが、項目の高さだけが変更されます。このことができます
希望、
乾杯
[Kivy] v1.9.1
[パイソン] v2.7.11(v2.7.11:6d1b6a68f775、2015年12月5日、20時32分19秒)[MSCのV。 1500 32ビット(Intel)]
from kivy.uix.boxlayout import BoxLayout
from kivy.adapters.dictadapter import ListAdapter
from kivy.uix.button import Button
from kivy.uix.listview import ListView, ListItemButton
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.app import App
from random import randint
class MyApp(App):
items = 20
pad = 20
space = 20
text_border = 10
def build(self):
mainlayout = BoxLayout(orientation = 'vertical')
self.list_adapter = ListAdapter(data = ["Item #{0}".format(i) for i in range(self.items)], cls = ListItemButton,
args_converter=self.list_item_args_converter, sorted_keys = [])
self.list_view = ListView(adapter=self.list_adapter, size_hint_y=.3)
self.list_view.container.padding = self.pad
self.list_view.container.spacing = self.space
mainlayout.add_widget(self.list_view)
return mainlayout
def list_item_args_converter(self,col,obj):
return {
'text': obj,
'size_hint_y': .3,
'text_size' : (self.root.width-2*self.pad-2*self.text_border , None),
'height': 32,
'halign': 'left',
'valign': 'middle',
'deselected_color':[.5,.5,.5,1],
'selected_color':[1.,1.,1.,1]
}
if __name__ == '__main__':
MyApp().run()
問題はあなたが項目20にスクロールできない、あなたは修正する方法を知っていますか? – TheoretiCAL
コードを変更しました。スクロールは今では機能します(まずはすべきである...ごめんなさい)。このソリューションでは、項目の背景が黒色でなければなりません。私は基本的なgridlayoutのパディングを変更した後にスクロールを修正する方法を理解していませんでした... – Patrick
私はあなたの以前の解決策に問題があったと思った: "あなたは慎重に希望のスクロール/パン効果を得るためにコンテンツのsize_hintを指定する必要があります"グリッドレイアウトの親であるスクロールビューのドキュメント – TheoretiCAL