gpt4 book ai didi

android - RelativeLayout.RIGHT_OF 不起作用

转载 作者:行者123 更新时间:2023-11-30 01:14:17 24 4
gpt4 key购买 nike

我正在尝试在现有的相对布局中以编程方式创建 TextView 和按钮。这个想法是将 textview 放在 parentView(relativeLayout) 的左角,然后将按钮添加到 textView 的右侧。但在应用程序中,它们似乎在同一个地方。按钮在 textView 的前面,而不是在右边。请给我一些建议。

代码:

   TextView textView = new TextView(getActivity().getApplicationContext());
textView.setText("...");
textView.setTextColor(Color.GRAY);
int id = 0;
textView.setId(id);
final RelativeLayout.LayoutParams params =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
params.setMargins(16, 16, 0, 0);
textView.setLayoutParams(params);
notificationContentLayout.addView(textView, params);

Button customerButton = new Button(getActivity().getApplicationContext());
customerButton.setText("...");
customerButton.setTextColor(Color.parseColor("#00b3ff"));
customerButton.setBackgroundColor(Color.TRANSPARENT);
id = id + 1;
customerButton.setId(id);

final RelativeLayout.LayoutParams paramsForButton =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
paramsForButton.addRule(RelativeLayout.RIGHT_OF, textView.getId());
paramsForButton.addRule(RelativeLayout.ALIGN_PARENT_TOP); // with or without that rule everything is the same

// paramsForButton.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

paramsForButton.setMargins(10,0, 16, 0);
customerButton.setLayoutParams(paramsForButton);
notificationContentLayout.addView(customerButton, paramsForButton);

最佳答案

对于RelativeLayout.LayoutParams规则,0表示false,仅适用于不引用同级View的规则,例如 CENTER_IN_PARENT。由于您已将 TextView 的 ID 设置为 0,因此您添加的 RIGHT_OF 规则将被忽略,因为 false 没有意义。

要解决这个问题,只需将 TextView 的 ID 设置为任何正的 int 值即可;例如,1

关于android - RelativeLayout.RIGHT_OF 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38100240/

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