- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我只是无法让它滚动....
这是我的代码:
sview=uix.scrollview.ScrollView(size_hint=[1,2],scroll_type=['bars','content'],valign='top',bar_width="10dp")
bl=uix.stacklayout.StackLayout(size_hint_y=None)
for x in list:
bl.add_widget(uix.button.Button(text=x['text'])
sview.add_widget(bl)
它有点复杂,但这就是它的要点
最佳答案
这是 ScrollView 的一个工作示例。来自文档:ScrollView
我编辑它以使用 stacklayout。
尝试在 ScrollView 中更改 size_hint,如下所示:size_hint=(1, None)
同时设置 ScrollView 的大小,使其具有窗口高度:大小=(Window.width, Window.height)
并且如示例中所示,绑定(bind)布局的最小高度。在您的案例中添加 bl.bind(minimum_height=bl.setter('height'))
。
最后将按钮的 size_hint 设置为 None:size_hint_y=None
from kivy.uix.stacklayout import StackLayout
from kivy.uix.button import Button
from kivy.uix.scrollview import ScrollView
from kivy.core.window import Window
from kivy.app import runTouchApp
layout = StackLayout(size_hint_y=None)
# Make sure the height is such that there is something to scroll.
layout.bind(minimum_height=layout.setter('height'))
for i in range(100):
btn = Button(text=str(i), size_hint_y=None, height=40)
layout.add_widget(btn)
root = ScrollView(size_hint=(1, None), size=(Window.width, Window.height))
root.add_widget(layout)
runTouchApp(root)
如果你想改变窗口大小,尝试在 kv lang 中进行。这样它会自动绑定(bind)到 Windows 大小。
像这样:
from kivy.uix.stacklayout import StackLayout
from kivy.uix.button import Button
from kivy.lang import Builder
from kivy.app import App
KV = '''
#: import Window kivy.core.window.Window
ScrollView:
size_hint: (1,None)
size: (Window.width, Window.height)
MyLayout:
'''
class MyLayout(StackLayout):
def __init__(self,**kwargs):
super(MyLayout,self).__init__(**kwargs)
self.size_hint_y=(None)
self.bind(minimum_height=self.setter('height'))
for i in range(100):
btn = Button(text=str(i), size_hint_y=None, height=40)
self.add_widget(btn)
class MyApp(App):
def build(self):
return Builder.load_string(KV)
MyApp().run()
关于python - ScrollView 中的 Kivy StackLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43546607/
我有一个显示在 TextField 下的搜索建议组件。每当在 TextField 中输入文本时,搜索建议组件都会根据当前输入的文本显示可能的匹配项列表...我在 TextField 下有更多内容,只要
我正在使用 NativeScript StackLayout 组件来布局我的元素。 在 StackLayout 的子元素之间创建间隙的最佳方法是什么? 最佳答案 您可以在该布局的 css 中使用 ma
我正在使用 Xamarin 并使用 XAML 创建我的 View ,但我一生都无法让这个标签按照我想要的方式包装。如果标签到达屏幕边缘,我希望它像这样包裹...... 现在它看起来像这样......
我想使用仅使用 xaml 的 Xamarin 表单使用相对布局将 Stacklayout 定位在图像顶部的底部。 xaml 看起来像这样。
我想知道如何将堆栈布局放入 xamarin 表单的网格案例中并重复该模式。 我在我的 xaml 中声明了我的网格和堆栈布局。
早上好,我正在尝试实现单击 StackPanel 上的 UserName 时的功能,以便键盘不会隐藏信息。但这不是最好的选择,我在 iOS 和 Android 上工作。你能帮帮我吗。
我有一个 JSON 文件,它以 base64 格式返回任意数量的图像。在我的 component.html 中,我尝试将图像设置为 StackLayout 的背景,如下所示: -->
我正在使用以下(测试)代码动态创建页面内容。我希望 Entry 控件保持在 StackLayout 范围内并裁剪其较大的 Text 值。不知怎的,这不像我想要的那样工作。 我在这里做错了什么? pub
今天我尝试重写 Snapchat 的 UI 作为一项挑战。我从着陆页开始,但我在制作底部按钮时遇到了问题,它们下面有一个空隙。 我很惊讶它不会自然地 100% 到底部,但有什么办法可以做到这一点吗?我
我有一个 FlexLayout内部 StackLayout : 我如何居中 FlexLayout内S
我正在尝试显示一个包含一些项目的 ListView ,我只想在这些项目之间留出一点空间。 我用谷歌搜索了这个问题,但找不到对我有用的答案。这是我发现的解决方案,其结果与我想要的相同但不起作用:http
当我为 stacklayout 设置 StackOrientation.Horizontal 并设置 5 个标签时,它会正确显示。 但是,当标签数量增加时,标签文本大小会减小,并且所有标签都会根据
我正在开发一个向导,如果发生错误,该向导应该在控件顶部显示错误组合。该组合包含一个列出所有错误的 Text 和两个 Label:该组件的上方和下方。错误列表下方的Label可以省略。根据错误的数量,错
这是我的代码: ..... 有大量的标签,以至于它们从
当设备处于横向时,如何让 stacklayout 占用所有屏幕宽度? in Landscape mode stacklayout does not fill parent 这是我的 Xaml:
我有一个显示按钮的简单 Stacklayout。我希望能够让 child 从 stacklayout 中删除自己。 这个项目只是为了测试目的,所以每个按钮都链接到同一个事件处理程序。 private
我正在尝试实现一种可折叠的 StackLayout。每次用户单击按钮时,它都会展开或折叠堆栈布局以显示/隐藏更多详细信息。 我能够通过下面的代码实现更多/更少的效果,但它看起来不对而且效果也不是很好,
我正在尝试获得以下布局,我正在使用 StackLayout 框架 我无法堆叠 Box1、Box2 和 Box 3。 此外,当我将它们包装在 div 中时,每个框的标题给我带来了麻烦。 这是我目前的代码
我只是无法让它滚动.... 这是我的代码: sview=uix.scrollview.ScrollView(size_hint=[1,2],scroll_type=['bars','conte
我有这个 StackLayout,我曾用它在 XAML 中创建导航栏。这个 Horizontal StackLayout 包含一个按钮和标签。问题是文本没有完全居中,我似乎无法将它完美地放在中间。
我是一名优秀的程序员,十分优秀!