AndroidPlot - XYplot不会显示在xml中的图形布局上

时间:2013-06-20 06:13:42

标签: android xml androidplot

我在android开发场景中相当新,但是我做了一些简单的死应用程序来了解环境中的工作流程。

我在运行名为SimpleXYPlotExample的示例程序时遇到困难,这里分别是代码,manifest,main.xml和activity.java。我知道这是某种用户错误,但如果有人可以给我一些有用的指示,我会做错的话会很棒。

起初,所有代码都被破坏了,但我意识到我忘了导入库。现在我已经这样做了,我尝试在我的nexus上运行程序,它只是在进入时崩溃了。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example"
          android:versionCode="1"
          android:versionName="1.0">

    <uses-sdk
    android:minSdkVersion="6"
    android:targetSdkVersion="16"/>

    <application android:label="SimpleXYPlotExample" 
                 android:icon="@drawable/icon" 
                 android:debuggable="true"
                 android:hardwareAccelerated="false">
        <activity android:name=".MyActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest> 
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <com.androidplot.xy.XYPlot
    android:id="@+id/mySimpleXYPlot"
    android:layout_width="fill_parent"
    android:layout_height="150px"
    android:layout_marginTop="10px"
    android:layout_marginLeft="10px"
    android:layout_marginRight="10px"
    andsroidplot.title="A Simple XYPlot Example"
    androidplot.ticksPerRangeLabel="4"
    androidplot.ticksPerDomainLabel="2"
    androidplot.gridPadding="4dp|4dp|4dp|4dp"
    />
</LinearLayout>
    package com.example;

    import java.util.Arrays;

    import android.app.Activity;
    import android.os.Bundle;

    import com.androidplot.series.XYSeries;
    import com.androidplot.ui.AnchorPosition;
    import com.androidplot.xy.LineAndPointFormatter;
    import com.androidplot.xy.SimpleXYSeries;
    import com.androidplot.xy.XLayoutStyle;
    import com.androidplot.xy.XYPlot;
    import com.androidplot.xy.YLayoutStyle;


    public class MyActivity extends Activity
    {

        private XYPlot plot;

        @Override
        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            // initialize our XYPlot reference:
            plot = (XYPlot) findViewById(R.id.mySimpleXYPlot);

            // add a new series
            XYSeries mySeries = new SimpleXYSeries(
                    Arrays.asList(0, 25, 55, 2, 80, 30, 99, 0, 44, 6),
                    SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "series1");
            plot.addSeries(mySeries, new LineAndPointFormatter(
                    getApplicationContext(), R.xml.f1));

            // reposition the domain label to look a little cleaner:
            plot.position(plot.getDomainLabelWidget(), // the widget to position
                    45,                                // x position value, in this case 45 pixels
                    XLayoutStyle.ABSOLUTE_FROM_LEFT,   // how the x position value is applied, in this case from the left
                    0,                                 // y position value
                    YLayoutStyle.ABSOLUTE_FROM_BOTTOM, // how the y position is applied, in this case from the bottom
                    AnchorPosition.LEFT_BOTTOM);       // point to use as the origin of the widget being positioned

            plot.centerOnRangeOrigin(60);
            plot.centerOnDomainOrigin(5);
        }

}

这可能是因为情节甚至没有显示在图形布局上。这就是这段代码的样子:

http://imgur.com/qYl96Zi

如您所见,我已经导入了androidplot库。请指教。

1 个答案:

答案 0 :(得分:2)

屏幕截图似乎来自eclipse gui编辑器,作为例外提及不支持setShadowLayer方法,因此不会渲染。这只是Eclipse的一个限制,而不是代码或库中的错误。

通常,为了能够回答有关Androidplot崩溃原因的问题,您需要提供相应的堆栈跟踪。但我注意到你的xml中的这个拼写错误:

andsroidplot.title="A Simple XYPlot Example"

至于获得一个工作的WYSIWYG编辑器,我的个人建议是尝试使用IntelliJ IDEA或Android Studio(基于当前的EAP版本IntelliJ IDEA)。两者都是免费的,两者都在(恕我直言)远远优于IDE。