Xuni コントロール > FlexPie > クイックスタート:FlexPie へのデータの追加 |
このセクションでは、Android アプリに FlexPie コントロールを追加し、そこにデータを追加する方法について説明します。このトピックは 3 つの手順で構成されます。
次の図は、上記の手順を実行した後の 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; } } |
FlexPie コントロールを初期化するには、次の手順を実行します。
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; } } |
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> |
パッケージエクスプローラーで、アプリケーションを右クリックし、[実行]→[Android アプリケーション]をクリックします。