早上好,
我刚开始我的第一个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);
...
答案 0 :(得分:1)
不要再拨打setContentView()
两次,而是让res/layout/activity_main.xml
将DrawBattery
View
的实例放在您想要的位置。
您可能希望阅读Android文档的the "Creating Custom Views" portion。
答案 1 :(得分:0)
您应该使用自定义View
。您可以创建一个扩展View
的新类,然后覆盖onDraw
方法(如果需要,还可以覆盖onMeasure / onSizeChanged)。
当您想要向View绘制内容时,您可以在视图上创建一个setter / init方法,用于初始化您想要绘制的数据。
然后,将您的视图放在自定义布局中,并使用该布局扩展活动/片段。如果您需要更多或者需要动态添加它们,可以在代码中以编程方式添加它们。