Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如果替换的布局里有margin的属性 在回来的成功的时候显示会多一个margin #105

Closed
wilder-ness opened this issue Dec 12, 2018 · 8 comments

Comments

@wilder-ness
Copy link

如果替换的布局里有margin的属性 在回来的成功的时候显示会多一个margin
比如 我替换一个线性布局 里面有个margintop=“10dp”
替换回来的时候 loadsir 会把自己的布局添加一个margintop="10"
然后加载的布局也有个margintop 这样 就造成了2倍的距离

@lvyandev
Copy link

+1

@wangkunlin
Copy link

自己 fork 一下 修改吧,看提交记录,最近的一次还是 9 个月前了。

@wilder-ness
Copy link
Author

作者 弃更了?

@sy007
Copy link

sy007 commented Jan 31, 2019

@guoleifei 我试了下没没发现一个线性布局中添加margin设置的值,替换并从新显示回来并没有多margin设置的值。你自己替换的布局被loadSir从parent remove掉后add到内部parent中时并没有设置layoutParams,而是仅仅在loadSir内部的parent设置LayoutParams。按道理不会出现你描述的情况的。

@wilder-ness
Copy link
Author

简单的说你把你要替换的布局 里面加一个margin 然后显示以后看看实际的显示效果大概就知道我说的什么意思了。可能我的描述并不准确

@DonneYangMr
Copy link

我也出现了这种情况,底布局加外边距,最后成功之后会出现2倍的间距

@hellofuckandroid
Copy link

Cause:在android N的系统上(不管targetSdkVersion)和在android N 以上的系统上并且应用targetSdkVersion >=24时,FrameLayout的addView会保留child的margin,而LoadLayout继承了FrameLayout,并且会采用target的LayoutParam,导致最终效果margin值翻倍。
Solution:padding不在LayoutParam里面。target设置padding来代替margin的效果。

@KingJA
Copy link
Owner

KingJA commented Mar 8, 2020

@guoleifei @lvyandev @wangkunlin @sy007 @Androidpanpan @hellofuckandroid 各位好,1.3.8版已经修复该问题,欢迎更新,感谢你的使用:ghost:

@KingJA KingJA closed this as completed Mar 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants