Android:如何使用相对间距动态放置视图

时间:2015-07-15 16:52:42

标签: android android-layout

我正在动态地将视图放入RelativeLayout。目前,我正在做:

layoutParams = new RelativeLayout.LayoutParams(
    RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

layoutParams.setMargins(0, position, 0, 0);
relativeLayout.addView(textViewInstance, layoutParams);

其中position在每个TextView对象添加到布局后增加一个固定的数量。问题是一些TextView包含长字符串,这使得屏幕尺寸较小的设备上的格式化很麻烦,因为字符串会溢出到多行并渗入空白区域。

我是否可以通过相对于TextViews上方TextView的间距添加这些layoutParams = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(0, previousTextViewInstance.bottomPixel + 50, 0, 0); relativeLayout.addView(textViewInstance, layoutParams); ?我希望达到以下效果:

previousTextViewInstance

在添加每个新TextView后,{}保存rdd_row

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以在相对布局中动态添加前一个视图下方的每个视图,而不是为每个视图设置边距。

为此,首先为每个textView设置一个id。

firstTextView.setId(textView_id_1);

在添加第二个textView时,将布局参数的规则设置为:

layoutParams.addRule(RelativeLayout.BELOW, textView_id_1);
secondTextView.setLayoutParams(layoutParams);
secondTextView.setId(textView_id_2);