美文网首页
android RelativeLayout代码中动态设置相对布

android RelativeLayout代码中动态设置相对布

作者: hao_developer | 来源:发表于2021-05-21 09:42 被阅读0次
    RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)imageButtonCursor.getLayoutParams();
    layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, R.id.imageButtonCursor);
    

    设置imageButtonCursor在底部(因为之前此控件是依附A控件来设定位置的,根据需求A控件要隐藏掉,当A控件隐藏的时候,imageButtonCursor会跑位,所以要这样动态设置)

    这里要说名的是 imageButtonCursor的父布局是RelativeLayout 否则getLayoutParams强转会报错的

    RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) imageButtonCursor.getLayoutParams();
    //因为对SDK要求17以上 所以放弃此方法
    //layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_BOTTOM);     //这里需要清除掉之前设置的位置 否则不生效
    layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);
    layoutParams.addRule(RelativeLayout.ABOVE, R.id.horizontalScrollView1);
    

    R.id.horizontalScrollView1为A控件(根据需求此时A控件要显示)显示出来后
    imageButtonCursor有要根据A控件去找位置 因为之前设置imageButtonCursor显示在底部 如果不清除这个位置则 设置的相对位置则是无效的 17以上可以用removeRule的方法 为了兼容只能用

    layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);
    

    相关文章

      网友评论

          本文标题:android RelativeLayout代码中动态设置相对布

          本文链接:https://www.haomeiwen.com/subject/xtzijltx.html