我使用下面的代码在画布上设置文字。但是现在我想知道如何在布局的底部设置文本的位置..
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)我如何才能达到我的要求?
答案 0 :(得分:0)
如果您不想将视图设置为特定位置,请不要使用“线性布局”。使用相对布局,LinearLayout如名称所示,线性...
无论如何,在java中进行布局是非常糟糕的做法,你应该在xml
答案 1 :(得分:0)
这是在画布上绘制文本的两个示例代码..
1)在画布上绘制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);
答案 2 :(得分:-2)
您可以设置视图的x和y坐标
请参阅此链接here
或者将此代码用于绝对布局
TextView txt = new TextView(screenContext);
txt.setLayoutParams(new AbsoluteLayout.LayoutParams(width,height, calculatedX,calculatedY));
OR 对于绘图时画布使用此
canvas.drawText(text, x, y, paint);