【问题标题】:Modifying topMargin of a Relativelayout programmatically以编程方式修改相对布局的 topMargin
【发布时间】:2021-09-21 10:38:46
【问题描述】:

我需要以编程方式修改 RelativeLayout 的上边距

myScrollView.marginTop = 250

很遗憾,我收到错误 val cannot be reassigned

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    ...
    <RelativeLayout
        android:id="@+id/myScrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="100dp"
        android:layout_marginRight="100dp"
        android:layout_marginTop="125dp"
        tools:context=".QuizActivity">
        ...

请问有其他方法吗?

提前感谢您的帮助。

【问题讨论】:

    标签: kotlin android-relativelayout layoutmargins


    【解决方案1】:

    你必须先获取视图的layoutparams然后setMargins。

    val param = myScrollView.layoutParams as ViewGroup.MarginLayoutParams
    param.setMargins(left,top,right,bottom)
    

    然后将参数设置为布局或视图。

    myScrollView.layoutparams = param
    

    【讨论】:

    • 非常感谢 Yoron,你拯救了我的一天!
    • @LastCard1440 没问题,乐于助人...
    • 最后一件事是在该滚动视图周围制作一个框架:-/
    • @LastCard1440 你的意思是像一个边上有描边的背景吗?
    • 是的,我尝试了一些不成功的方法。一个可绘制的框架作为 xml 文件,然后在滚动视图的布局中调用它。现在,在我调用 ScrollView 之前,屏幕上会出现一个框架。然后当滚动视图出现在屏幕上时,框架就像滚动视图顶部和底部的三明治,而不是两侧。比 scrollView 本身大。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多