Android在活动中抽出一个类

时间:2014-10-24 16:10:04

标签: java android android-activity drawing draw

早上好,

我刚开始我的第一个android项目(但是有Java,VB等知识)。

我整天都在搜索,但我知道我无法找到问题的答案,我发现有很多方法可以在空白的屏幕上画画......  但我搜索一个方法直接在我的按钮和其他控件旁边的MainActivity上绘制多个图表等。在Java中,我会使用不同的drawPanel来降低工作量,但由于缺少swing库,我不能这样做。 他们是关于那个主题的好教程还是你有建议吗?  我为每一个tipp感到高兴。

Dwon那里/你会找到我当前尝试的一个例子,但正如所说它只会画出" BAttery"而不是活动组成部分:

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    DrawBattery draw = new DrawBattery(this, 96);
    setContentView(draw);
}

-

public class DrawBattery  extends View {


private int batteryCharge = 0;   //battery charge in %

public DrawBattery(Context pContext, int pBatteryCharge)
{
    super(pContext);
    batteryCharge = pBatteryCharge;
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);


...

2 个答案:

答案 0 :(得分:1)

不要再拨打setContentView()两次,而是让res/layout/activity_main.xmlDrawBattery View的实例放在您想要的位置。

您可能希望阅读Android文档的the "Creating Custom Views" portion

答案 1 :(得分:0)

您应该使用自定义View。您可以创建一个扩展View的新类,然后覆盖onDraw方法(如果需要,还可以覆盖onMeasure / onSizeChanged)。

当您想要向View绘制内容时,您可以在视图上创建一个setter / init方法,用于初始化您想要绘制的数据。

然后,将您的视图放在自定义布局中,并使用该布局扩展活动/片段。如果您需要更多或者需要动态添加它们,可以在代码中以编程方式添加它们。