【问题标题】:Custom layout addView issue自定义布局 addView 问题
【发布时间】:2011-12-13 17:29:37
【问题描述】:

我正在做自定义布局。但我希望看起来像在屏幕按钮、图像、文本中。

Setting parameters on child views of a RelativeLayout。我想在左侧添加一个按钮。有人可以帮帮我吗?

我的代码是:

RelativeLayout.LayoutParams lp1=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
addView(pic,lp1);

RelativeLayout.LayoutParams lp2=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp2.addRule(RelativeLayout.RIGHT_OF,pic.getId());
addView(name,lp2);


RelativeLayout.LayoutParams lp3=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp3.addRule(RelativeLayout.LEFT_OF,pic.getId());
addView(deletebutton,lp3);

怎么了?

【问题讨论】:

  • 没错。怎么了?您必须更详细地描述您的问题。
  • 我想看到第一个按钮第二个 ımageview 第三个 textview。但是当我这样做时我看不到按钮?我得到参考图片。我想在左侧和右侧放置 2 个视图?

标签: android android-layout


【解决方案1】:

仔细看看你做了什么。

首先,将“pic”添加到布局中,这将与左侧的相对布局对齐(因为您没有为其提供任何规则)。

最后,您尝试在左侧添加一个视图,但没有空间,因为您的图片左对齐。

你有几个出路。

1) 为“图片”添加规则,使其水平居中于父级。左侧可能有可用空间以适应按钮。

2)首先添加按钮(它将向左对齐),然后添加图片并将规则设置在按钮的右侧,然后像您一样添加名称。

【讨论】:

  • 啊,是的。所以当我添加视图时,它默认对齐左侧?
  • 是的。默认情况下左上对齐
  • Alex,我如何以编程方式在布局之间留出空间?你知道吗?
  • 您可以尝试在添加某个视图之前为您的 layoutParams 设置填充。例如:lp1.setPadding(0, 0, 5, 0);所以图片右边会有5个像素的空间
猜你喜欢
  • 1970-01-01
  • 2019-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 2011-05-22
相关资源
最近更新 更多