gpt4 book ai didi

android - 对于 Relative LayoutParams,SetMargin 以编程方式无法正常工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:54:16 25 4
gpt4 key购买 nike

我目前正在以编程方式添加封装在线性布局中的 RelativeLayout。基础是一个 ScrollView ,我正在尝试将这些布局添加到名为 svbase 的 ScrollView 中

LinearLayout llbase = new LinearLayout(getApplicationContext());
LinearLayout.LayoutParams llbaseParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); // Verbose!
llbaseParams.setMargins(0, new CommonOpearation().getPixel(10, getApplicationContext()), 0, new CommonOpearation().getPixel(10, getApplicationContext()));

llbase.setLayoutParams(llbaseParams);
llbase.setGravity(Gravity.CENTER_HORIZONTAL);

for(int n =0;n<2;n++)
{

RelativeLayout rLayoutBase = new RelativeLayout(getApplicationContext());
RelativeLayout.LayoutParams rLayoutParms = new RelativeLayout.LayoutParams( new CommonOpearation().getPixel(140, getApplicationContext()), new CommonOpearation().getPixel(125, getApplicationContext()));
**rLayoutParms.setMargins(0, 0, new CommonOpearation().getPixel(5, getApplicationContext()), 0);**
rLayoutBase.setLayoutParams(rLayoutParms);


Drawable drawable = MyCurrentActivity.this.getApplicationContext().getResources().getDrawable(R.drawable.curved_bg); //new Image that was added to the res folder
try {
rLayoutBase.getClass().getMethod(android.os.Build.VERSION.SDK_INT >= 16 ? "setBackground" : "setBackgroundDrawable", Drawable.class).invoke(rLayoutBase, drawable);
} catch (Exception ex) {

}

llbase.addView(rLayoutBase);
}

svBase.addView(llbase);

如您所见,我有两个相对布局封装在水平方向的线性布局中。我已经尝试使用 setMargin 为每个 relativelayout 提供边距,并具有一定的 5dp 的权利。但是,它不会在两个相对布局之间提供余量。不过,如果我要在 xml 中手动执行,它会起作用。

可以在图像中看到差异。顶部是一个 xml 指定布局,而底部两个 relativelayout 是通过编程生成的

enter image description here

最佳答案

解决了我自己的问题。

解决方案已经存在!没google够!我的错! Relative Layout ignoring setMargin()

关于android - 对于 Relative LayoutParams,SetMargin 以编程方式无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15771106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com