我需要以TextView
为中心设置ImageButton
,但需要使用代码。我可以设置一个文本,但我无法将其置于中心位置。
码
RelativeLayout rLayout = new RelativeLayout(this);
TextView textView = new TextView(this);
textView.setText("text");
textView.setTextSize(25);
textView.setGravity(Gravity.CENTER);
final ImageButton iButton = new ImageButton(this);
iButton.setImageResource(R.drawable.button);
iButton.setBackgroundColor(Color.TRANSPARENT);
rLayout.addView(iButton);
rLayout.addView(textView);
linear.addView(rLayout);
此代码在imageButton上设置文本,但将其设置在左上角。
答案 0 :(得分:1)
有点不清楚你在问什么...但如果我理解正确,你必须在TextView上设置RelativeLayout.LayoutParams,然后再将其添加到父级。此外,您还必须添加规则RelativeLayout.CENTER_IN_PARENT。
所以,比如:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(size, size)
params.addRule(RelativeLayout.CENTER_IN_PARENT)
textView.setLayoutParams(params)
或其他一些适合您用例的规则组合。
答案 1 :(得分:1)
所以试试
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT);
params.weight = 1.0f;
params.gravity = Gravity.CENTER;
iButton.setLayoutParams(params);