- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我喜欢 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
:
关于android - scaloid 示例布局不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24292650/
我喜欢 Scaloid,但我正在努力让任何布局超出简单的垂直堆叠 UI 元素,包括他们的主页示例。这是 scaloid 网站上的示例代码: new SVerticalLayout {
我是一名优秀的程序员,十分优秀!