当前位置:   GIT > 正文

Anko 0.8 - 未解决的lparams参考

kotlin,anko,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

主要问题是:lparams简单地从Anko离开,还是我做了一件非常错误的事情?以下代码段无法编译:

verticalLayout {
}.lparams(width = matchParent, height = matchParent) {
    topMargin = dip(10)
}

虽然这没有任何问题:

verticalLayout {
    layoutParams = LinearLayout.LayoutParams(matchParent, matchParent).apply {
        topMargin = dip(10)
    }
}

我不介意第二个选项太多,但是你必须在生成参数时指定布局类型,这可能会让人觉得有点烦人(并且比原始解决方案更脆).

我没有在AnkoGitHub页面,更改日志或通过浏览最近的提交找到任何内容.这是完整的UI类供参考:

class ReviewsFragmentUi(ctx: AnkoContext) : AnkoComponent {
    override fun createView(ui: AnkoContext) = ui.apply {
        verticalLayout {
            layoutParams = LinearLayout.LayoutParams(matchParent, matchParent).apply {
                topMargin = dip(10)
            }
        }
    }.view
}

相关的Gradle条目(我使用的是Kotlin 1.0.0-beta-3595):

ext.versions = [
    anko : '0.8.1',
]

compile "org.jetbrains.anko:anko-common:$versions.anko",
compile "org.jetbrains.anko:anko-sdk21:$versions.anko",
compile "org.jetbrains.anko:anko-support-v4:$versions.anko",
compile "org.jetbrains.anko:anko-design:$versions.anko",
compile "org.jetbrains.anko:anko-appcompat-v7:$versions.anko",
compile "org.jetbrains.anko:anko-cardview-v7:$versions.anko",
compile "org.jetbrains.anko:anko-recyclerview-v7:$versions.anko",
compile "org.jetbrains.anko:anko-gridlayout-v7:$versions.anko",

作为一个后续问题:如果lparams确实已经消失了,那么还有比我现在做的更优雅的替代品吗?



1> Gustorn..:

显然lparams仍然存在,但不能用作最外层布局的扩展功能:

因此以下代码失败:

override fun createView(ui: AnkoContext) = ui.apply {
    verticalLayout {
        // Layout elements here
    }.lparams { 
        // Layout params here
    }
}.view

但这编译很好:

override fun createView(ui: AnkoContext) = ui.apply {
    verticalLayout {
        lparams {
            // Layout params here
        }

        // Layout elements here
        verticalLayout { }.lparams {
            // lparams works fine if there is a parent layout
        }
    } 
}.view

值得注意的是,不lparams鼓励使用非拖尾版本的内部布局:LayoutParams当嵌套布局具有不同类型时,它将创建错误的子类.有关完整的讨论,请参阅此GitHub问题.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/GIT/detail/12916
推荐阅读
  • 如何解决《如何将字符串转换为unsignedint?C》经验,为你挑选了1个好方法。c,string,scanf,type-conversion,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,... [详细]

  • 如何解决《Angular2.x选择DOM元素》经验,为你挑选了3个好方法。javascript,typescript,angular,服务器,css,html,注入,https,git,DevBox,在线流程图,编程,编程问答,程序员,开发... [详细]

  • 如何解决《在Elixir应用程序中加载Erlang项目》经验,为你挑选了1个好方法。mix,elixir,erlang,git,https,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,u... [详细]

  • 如何解决《`gitadd-p`的选项有哪些?》经验,为你挑选了1个好方法。git,git-add,jquery,go,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发... [详细]

  • 如何解决《不推荐使用的SVGpathSegList的替代方案》经验,为你挑选了1个好方法。html,javascript,svg,chrome,https,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,js... [详细]

  • 如何解决《如何从AppVeyor发布betanuget包》经验,为你挑选了1个好方法。nuget,semantic-versioning,appveyor,git,https,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开... [详细]

  • 如何解决《安装Rcompression软件包时出错》经验,为你挑选了1个好方法。r,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人... [详细]

  • 如何解决《多台计算机上的Docker-machine主机环境?》经验,为你挑选了0个好方法。docker,docker-machine,git,容器,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维... [详细]

  • 如何解决《Simulink模型.slx之间的差异》经验,为你挑选了1个好方法。git,diff,matlab,simulink,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳... [详细]

  • 如何解决《data.table:为什么不能总是直接传递列名?》经验,为你挑选了1个好方法。r,data.table,go,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间... [详细]

  • 如何解决《NuGetServer适用于多种环境?》经验,为你挑选了1个好方法。tfs,environments,nuget,服务器,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,u... [详细]

  • 如何解决《无法在ACRA4.7.0中解析方法'formKey'》经验,为你挑选了1个好方法。error-handling,android,acra,android-studio,https,git,DevBox,在线流程图,... [详细]

  • 如何解决《在bash脚本中向git提供密码》经验,为你挑选了0个好方法。git,bash,shell,passphrase,ssh,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时... [详细]

  • 如何解决《在Ubuntu上运行docker:挂载的主机卷不能从容器写入》经验,为你挑选了2个好方法。linux,ubuntu,docker,docker-compose,容器,centos,https,git,DevBox,在线流程图,编程... [详细]

  • 如何解决《Git中是否可以只播放分阶段和修改过的文件?》经验,为你挑选了1个好方法。git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人... [详细]

  • 如何解决《AzureContinuousDeploywithDebug配置》经验,为你挑选了1个好方法。asp.net,git,azure,azure-web-sites,mvc,DevBox,在线流程图,编程,编程问答,程序员,开发者工具... [详细]

  • 如何解决《Redux&RxJS,有什么相似之处吗?》经验,为你挑选了2个好方法。javascript,rxjs,redux,html,https,git,容器,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,... [详细]

  • 如何解决《如何在超过100MB时将项目上传到Github?》经验,为你挑选了0个好方法。github,go,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工... [详细]

  • 如何解决《打字稿中的Angular2DI.我们可以在node.js/non-angular项目中使用它吗?》经验,为你挑选了3个好方法。javascript,dependency-injection,typescript,angular,注... [详细]

  • 如何解决《Android中阿拉伯文字的阿拉伯数字》经验,为你挑选了2个好方法。android,locale,arabic,git,https,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,... [详细]

相关标签
  

闽ICP备14008679号