如何在不使用 LinearLayout 的情况下将两个图像彼此相邻设置?
How to set two images next to each other without using a LinearLayout?
假设我有两个 ImageView
。如果没有 LinearLayout
,以编程方式将它们彼此相邻设置的最简单 way/best 方法是什么? (我正在使用 RelativeLayout
)
目前我有两个ImageView
,一个叫A
,另一个叫B
.
先画A
,再画B
.
我所做的是:
B.setTranslationX(A.getRight());
这是应该做的是将 B
左侧的 X 坐标设置为 A
右侧的 X 坐标,这将使它们彼此相邻。
但是当我这样做时,A
的左边、A
的右边、B
的左边和 B
' 都得到 0没错。
所以实际上,A
和B
在彼此之上,这不是我想要的。
试试这个:
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
ImageView iv1 = new ImageView(context);
ImageView iv2 = new ImageView(context);
your_relative_layout.addView(iv1, layoutParams);
layoutParams.addRule(RelativeLayout.RIGHT_OF, iv1.getId());
your_relative_layout.addView(iv2, layoutParams);
此代码向 LayoutParams 添加了一条规则,即 iv2
位于 iv1
的右侧
假设我有两个 ImageView
。如果没有 LinearLayout
,以编程方式将它们彼此相邻设置的最简单 way/best 方法是什么? (我正在使用 RelativeLayout
)
目前我有两个ImageView
,一个叫A
,另一个叫B
.
A
,再画B
.
我所做的是:
B.setTranslationX(A.getRight());
这是应该做的是将 B
左侧的 X 坐标设置为 A
右侧的 X 坐标,这将使它们彼此相邻。
但是当我这样做时,A
的左边、A
的右边、B
的左边和 B
' 都得到 0没错。
所以实际上,A
和B
在彼此之上,这不是我想要的。
试试这个:
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
ImageView iv1 = new ImageView(context);
ImageView iv2 = new ImageView(context);
your_relative_layout.addView(iv1, layoutParams);
layoutParams.addRule(RelativeLayout.RIGHT_OF, iv1.getId());
your_relative_layout.addView(iv2, layoutParams);
此代码向 LayoutParams 添加了一条规则,即 iv2
位于 iv1