动态创建按钮文本视图按钮

时间:2017-01-09 10:38:26

标签: android android-layout textview layoutparams

我对android很新,我正在尝试使用2个按钮和文本视图创建线性布局。这些按钮允许我增加和减少文本视图中间的值。

基本上我想达到这样的目的:
Layout

我已经创建了一个用于创建textview的函数,它工作正常。现在我想创建2个按钮,我自己设法完成,但是当它们使它们彼此对齐时我似乎失败了,如上图所示。

我写的用于动态创建textview的代码如下:

 void create_text(int i, int amountid, int H, int W)
{
    LinearLayout linearLayout = (LinearLayout) findViewById(R.id.imgLayout2);
    LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(340, 340);
    parms.gravity = Gravity.CENTER;
    parms.setMargins(20, 0, 20, 0);

    final TextView textView = new TextView(this);
    textView.setLayoutParams(parms);
    textView.setText("            x "+i);
    textView.setTypeface(null, Typeface.BOLD);

    linearLayout.addView(textView);
    textView.setId(amountid);

    textView.getLayoutParams().height = H;
    textView.getLayoutParams().width = W;

}

我想在文本视图之前和之后创建相同功能的按钮,并与它完美对齐(我的实际问题和我到目前为止未能做到的事情)。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您应该以编程方式在xml中构建布局。在那里,您可以轻松地“绘制”您的布局,并使它们对齐并响应任何设备。

要确保它们保持一致,您可以使用Horizontal LinearLayout甚至新的ConstraintLayout

你应该选择第二个(ConstraintLayout),它附带了新的Android SDK。

答案 1 :(得分:0)

您可以创建与创建文本视图相同的按钮。

Button mButton = new Buttonthis);
mButton.setLayoutParams(parms);
mButton.setText("x "+i);

然后,您必须在一个TextView中以水平方向添加ButtonLinearLayout,并将布局添加到父视图中。