Xuni for Android のドキュメント
クイックスタート:FlexPie へのデータの追加

このセクションでは、Android アプリに FlexPie コントロールを追加し、そこにデータを追加する方法について説明します。このトピックは 3 つの手順で構成されます。

次の図は、上記の手順を実行した後の FlexPie を示しています。

FlexPie showing fruits sales figure

手順 1:FlexPie のデータソースの作成

次のクラスは、メインクラスのオブジェクトをこのクラスで定義されるオブジェクトとバインドします。

Java
コードのコピー
 class BindObject
{
        private String name;
        private int value;

        public BindObject(String name, int value)
        {
                this.name = name;
                this.value = value;
        }

        public String getName()
        {
                return name;
        }

        public int getValue()
        {
                return value;
        }
}
C#
コードのコピー
public class BindObject : Java.Lang.Object
    {
        public string name { get; set; }
        public double value { get; set; }
    }

手順 2:FlexPie コントロールの追加

FlexPie コントロールを初期化するには、次の手順を実行します。

サンプルコード

  1. プロジェクトの MainActivity クラスに、次の参照を追加します。
    Java
    コードのコピー
    import com.grapecity.xuni.flexpie.*;
    
    C#
    コードのコピー
    using Com.GrapeCity.Xuni.FlexPie;
    
  2. MainActivity クラス内の FlexPie コントロールをインスタンス化し、BindObject クラスで定義されたオブジェクトにバインドします。
    Java
    コードのコピー
    public class MainActivity extends Activity 
    {
            private FlexPie mFlexPie;
            private MarginF mPlotMargin;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
                    // ウィジェットの初期化
                    mFlexPie = (FlexPie) findViewById(R.id.flexPie);
    
                    // FlexPie の BindObject タイプの果物オブジェクトリストを作成
                    ObservableList<Object> flexpieFruits = new ObservableList<Object>();
                    flexpieFruits.add(new BindObject("Oranges", 11));
                    flexpieFruits.add(new BindObject("Apples", 94));
                    flexpieFruits.add(new BindObject("Pears", 93));
                    flexpieFruits.add(new BindObject("Bananas", 20));
                    flexpieFruits.add(new BindObject("Pineapples", 53));
    
                    // BindObject 変数への FlexPie のバインディングを設定します
                    mFlexPie.setBindingName("name");
                    mFlexPie.setBinding("value");
    
                    // データ/項目のソースとデフォルト値を FlexPie1 で設定
                    mFlexPie.setItemsSource(flexpieFruits);
                    mPlotMargin = new MarginF(10f, 10f, 10f, 10f);
                    mFlexPie.setPlotMargin(mPlotMargin);
    }
    }
    
    C#
    コードのコピー
    public class MainActivity : Activity
        {
    
            protected override void OnCreate(Bundle bundle)
            {
                base.OnCreate(bundle);
    
                // 「メイン」レイアウトリソースからビューを設定します
                SetContentView(Resource.Layout.Main);
    
                // レイアウトリソースから FlexPie を取得します
                FlexPie mflexPie = FindViewById<FlexPie>(Resource.Id.flexpie);
    
                // FlexPie を BindObject とバインドします
                mflexPie.ItemsSource = GetFruitList();
                mflexPie.Binding = "value";
                mflexPie.BindingName = "name";
            }
    
            public IList<object> GetFruitList()
            {
                IList<object> list = new List<object>();
                string[] fruit_names = new string[] { "Oranges", "Apples", "Pears", "Bananas", "Pineapples" };
                Random rnd = new Random();
                for (int i = 0; i < fruit_names.Length; i++)
                {
                    list.Add(new BindObject { name = fruit_names[i], value = rnd.Next(100 * (i + 1)) });
                }
    
                return list;
            }
        }
    
  3. Java の場合は activity_main レイアウトファイル、C# の場合は Main.axml に次の XML コードを追加して、コントロールをデバイスにレンダリングします。
    XML
    コードのコピー
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="${relativePackage}.${activityClass}" >
    
        <com.grapecity.xuni.flexpie.FlexPie
            android:id="@+id/flexPie"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_gravity="center"
            android:layout_weight="1" >
        </com.grapecity.xuni.flexpie.FlexPie>
    
    </LinearLayout>
    
    C#
    コードのコピー
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
            
      <com.grapecity.xuni.flexpie.FlexPie
          android:id="@+id/flexpie"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent" />
            
    </LinearLayout>
    
先頭に戻る

手順 3:プロジェクトの実行

パッケージエクスプローラーで、アプリケーションを右クリックし、[実行]→[Android アプリケーション]をクリックします。

関連トピック

 

 


Copyright © GrapeCity inc. All rights reserved.