如何动态地在视图中的形状之前添加文本?

时间:2011-01-12 04:54:29

标签: android

我的要求是显示水平图。我已创建该图表。但是我需要在条形图之前和之后添加文本,以指示图形中的哪个条形图。经过简短的研究后我才知道。任何人都可以提出一些建议。任何回复都将不胜感激。

这是我在视图类中绘制形状的代码。

public class RectangleView extends View{

private ShapeDrawable[] mDrawables1,mDrawables2;

public RectangleView(Context context) {

super(context);

setFocusable(true);

setBackgroundColor(0xFFFFFFFF);

mDrawables1 = new ShapeDrawable[1];

mDrawables2 = new ShapeDrawable[1];

mDrawables1[0] = new ShapeDrawable(new RectShape());

mDrawables2[0] = new ShapeDrawable(new RectShape());

mDrawables1[0].getPaint().setColor(0xFF347235);

mDrawables2[0].getPaint().setColor(0xFF348017);

}



@Override protected void onDraw(Canvas canvas) {

Log.d("0000000","9999999");


for (Drawable dr : mDrawables1) {

int x1 = 10;

int y1 = 45;

int width1 = 200;

int height1 = 20;

dr.setBounds(x1, y1, x1 + width1, y1 + height1);

dr.draw(canvas);

y1 += height1 + 5;

}

for (Drawable dr : mDrawables2) {

int x1 = 10;

int y1 = 20;

int width1 = 200;

int height1 = 20;

dr.setBounds(x1, y1, x1 + width1, y1 + height1);

dr.draw(canvas);

y1 += height1 + 5;
}

}
}

现在我已经使用addView()方法在我的活动中添加了这个视图。我想在栏上留下一些文字,在栏右边放一些值。 如果有任何经验,请帮我在这里添加文字。我很期待你的回复。

提前致谢

1 个答案:

答案 0 :(得分:1)

Canvas类中有一个名为drawText()的方法 这种方法可能对你有帮助。看看this