gpt4 book ai didi

android - scaloid 示例布局不起作用

转载 作者:行者123 更新时间:2023-11-29 21:06:48 24 4
gpt4 key购买 nike

我喜欢 Scaloid,但我正在努力让任何布局超出简单的垂直堆叠 UI 元素,包括他们的主页示例。这是 scaloid 网站上的示例代码:

   new SVerticalLayout {
STextView("Sign in").textSize(24.5 sp).<<.marginBottom(25 dip).>>
STextView("ID")
SEditText()
STextView("Password")
SEditText() inputType TEXT_PASSWORD
SButton("Sign in")
this += new SLinearLayout {
SButton("Help")
SButton("Sign up")
}
}.padding(20 dip)

为了尝试这个,我这样做了:

class MyActivity extends SActivity {

onCreate {

contentView = new SVerticalLayout {
STextView("Sign in").textSize(24.5 sp).<<.marginBottom(25 dip).>>
STextView("ID")
SEditText()
STextView("Password")
SEditText() inputType TEXT_PASSWORD
SButton("Sign in")
this += new SLinearLayout {
SButton("Help")
SButton("Sign up")
}
}.padding(20 dip)
}
}

但是,当我在我的手机(纵向的 Nexus 5)上尝试此操作时,“注册”按钮没有出现。 “帮助”按钮横跨屏幕宽度。我的期望是 SLinearLayout 会生成嵌入在 SVerticalLayout 中的水平布局,并且我会并排看到两个按钮。

所以三个问题:

1) scaloid 示例是否正确?

2) 我是否将其正确嵌入到我的代码中?即将 contentView 设置为 SVerticalLayout?

3) 我如何修改它才能让帮助和注册按钮并排显示在一行中?

最佳答案

我是这个例子的作者。这是一个错误。谢谢!

Scaloid 的每个 widget 都默认设置了 android:layout_width="match_parent"android:layout_height="wrap_content"。因为“帮助”按钮填充了父级,所以看不到“注册”。

一个解决方案是添加.wrap。整个代码变为:

new SVerticalLayout {
STextView("Sign in").textSize(24.5 sp).<<.marginBottom(25 dip).>>
STextView("ID")
SEditText()
STextView("Password")
SEditText() inputType TEXT_PASSWORD
SButton("Sign in")
this += new SLinearLayout {
SButton("Help")
SButton("Sign up")
}.wrap
}.padding(20 dip)

.wrap 函数对宽度和高度应用 WRAP_CONTENT:

https://github.com/pocorall/scaloid#methods-fill-and-wrap

关于android - scaloid 示例布局不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24292650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com