0

我正在使用下面的代码在画布上设置文本..但现在我想知道如何在布局底部设置文本的位置..

    LinearLayout layout = new LinearLayout(getContext());
    TextView textView = new TextView(getContext()); 
    textView.setVisibility(View.VISIBLE);
    textView.setText(DetailsActivity.temp_desc);
    textView.setLines(10);
    textView.setSingleLine(false);
    layout.addView(textView);
    layout.measure(canvas.getWidth(), canvas.getHeight());
    layout.layout(0,100, canvas.getWidth(), canvas.getHeight());
    layout.draw(canvas);

使用此代码,我在 (0,0) 的位置上获取文本,但我想将其设置为 (0,400) 我怎样才能满足我的要求?

4

3 回答 3

0

如果您不想将视图设置到特定位置,请不要使用线性布局。使用相对布局,LinearLayout 顾名思义,Linear...
无论如何在java中做布局是非常糟糕的做法,你应该在xml中做

于 2013-01-18T10:24:01.023 回答
0

这是在画布上绘制文本的两个示例代码..

1)在Canvas上绘制TextView

TextView textView = new TextView(getContext()); 

textView.setText(DetailsActivity.temp_desc);
textView.setMinLines(1);

canvas.translate(0,bitmap.getHeight());
textView.layout(0, 0, 500, 150);
textView.draw(canvas);

2)在画布上绘制文本

canvas.drawText("Value",x_position, y_position, your paint object);
于 2013-01-18T10:37:01.000 回答
-2

您可以设置视图的 x 和 y 坐标

在这里看到这个链接

或将此代码与绝对布局一起使用

TextView txt = new TextView(screenContext);
txt.setLayoutParams(new AbsoluteLayout.LayoutParams(width,height, calculatedX,calculatedY));

或者对于画布使用这个

 canvas.drawText(text, x, y, paint);
于 2013-01-18T10:30:23.193 回答