Xamarin.android TChart内部线性布局生成;宽度和高度必须为>;0“;
我刚刚开始在Android的Mono上使用Steema TChart。我尝试了这个简单的代码,效果很好:Xamarin.android TChart内部线性布局生成;宽度和高度必须为>;0“;,xamarin.android,teechart,Xamarin.android,Teechart,我刚刚开始在Android的Mono上使用Steema TChart。我尝试了这个简单的代码,效果很好: protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); var tChart1 = new Steema.TeeChart.TChart(this); var bar1 = new Steema.TeeChart.Styles.Bar(); tChart1.Series
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
var tChart1 = new Steema.TeeChart.TChart(this);
var bar1 = new Steema.TeeChart.Styles.Bar();
tChart1.Series.Add(bar1);
bar1.Add(3, "Pears", Color.Red);
bar1.Add(4, "Apples", Color.Blue);
bar1.Add(2, "Oranges", Color.Green);
var theme = new Steema.TeeChart.Themes.BlackIsBackTheme(tChart1.Chart);
theme.Apply();
SetContentView(tChart1);
}
…但当我尝试将图表添加到另一个视图(如线性布局)时,我得到了错误“宽度和高度必须大于0”。有人知道如何解决这个问题吗
以下是我尝试过的代码(如果我只有LinearLayout和按钮,它就可以正常工作):
这是调用堆栈:
08-29 19:39:52.489 I/MonoDroid(24907): java.lang.IllegalArgumentException: width and height must be > 0
08-29 19:39:52.489 I/MonoDroid(24907): at android.graphics.Bitmap.createBitmap(Bitmap.java:603)
08-29 19:39:52.489 I/MonoDroid(24907): at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
08-29 19:39:52.489 I/MonoDroid(24907): at steema.teechart.TChart.n_onDraw(Native Method)
08-29 19:39:52.489 I/MonoDroid(24907): at steema.teechart.TChart.onDraw(TChart.java:55)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.View.draw(View.java:11025)
08-29 19:39:52.489 I/MonoDroid(24907): at android.widget.FrameLayout.draw(FrameLayout.java:450)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.View.draw(View.java:11028)
08-29 19:39:52.489 I/MonoDroid(24907): at android.widget.FrameLayout.draw(FrameLayout.java:450)
08-29 19:39:52.489 I/MonoDroid(24907): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2274)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2041)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1647)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2459)
08-29 19:39:52.489 I/MonoDroid(24907): at android.os.Handler.dispatchMessage(Handler.java:99)
08-29 19:39:52.489 I/MonoDroid(24907): at android.os.Looper.loop(Looper.java:137)
08-29 19:39:52.489 I/MonoDroid(24907): at android.app.ActivityThread.main(ActivityThread.java:4514)
08-29 19:39:52.489 I/MonoDroid(24907): at java.lang.reflect.Method.invokeNative(Native Method)
08-29 19:39:52.489 I/MonoDroid(24907): at java.lang.reflect.Method.invoke(Method.java:511)
08-29 19:39:52.489 I/MonoDroid(24907): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
08-29 19:39:52.489 I/MonoDroid(24907): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
08-29 19:39:52.489 I/MonoDroid(24907): at dalvik.system.NativeStart.main(Native Method)
这是因为在将图表添加到视图时需要提供,例如: AddView(tChart1,newviewgroup.LayoutParams(300400)) 或:
container.AddView(tChart1,新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.FillParent,ViewGroup.LayoutParams.FillParent)) 啊。。。就这么简单。我想我试过了,但我试着将LayoutParams发送到SetContentView而不是AddView。谢谢
08-29 19:39:52.489 I/MonoDroid(24907): java.lang.IllegalArgumentException: width and height must be > 0
08-29 19:39:52.489 I/MonoDroid(24907): at android.graphics.Bitmap.createBitmap(Bitmap.java:603)
08-29 19:39:52.489 I/MonoDroid(24907): at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
08-29 19:39:52.489 I/MonoDroid(24907): at steema.teechart.TChart.n_onDraw(Native Method)
08-29 19:39:52.489 I/MonoDroid(24907): at steema.teechart.TChart.onDraw(TChart.java:55)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.View.draw(View.java:11025)
08-29 19:39:52.489 I/MonoDroid(24907): at android.widget.FrameLayout.draw(FrameLayout.java:450)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.View.draw(View.java:11028)
08-29 19:39:52.489 I/MonoDroid(24907): at android.widget.FrameLayout.draw(FrameLayout.java:450)
08-29 19:39:52.489 I/MonoDroid(24907): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2274)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2041)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1647)
08-29 19:39:52.489 I/MonoDroid(24907): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2459)
08-29 19:39:52.489 I/MonoDroid(24907): at android.os.Handler.dispatchMessage(Handler.java:99)
08-29 19:39:52.489 I/MonoDroid(24907): at android.os.Looper.loop(Looper.java:137)
08-29 19:39:52.489 I/MonoDroid(24907): at android.app.ActivityThread.main(ActivityThread.java:4514)
08-29 19:39:52.489 I/MonoDroid(24907): at java.lang.reflect.Method.invokeNative(Native Method)
08-29 19:39:52.489 I/MonoDroid(24907): at java.lang.reflect.Method.invoke(Method.java:511)
08-29 19:39:52.489 I/MonoDroid(24907): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
08-29 19:39:52.489 I/MonoDroid(24907): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
08-29 19:39:52.489 I/MonoDroid(24907): at dalvik.system.NativeStart.main(Native Method)