「Jetpack Compose」の版間の差分

提供:MonoBook
編集の要約なし
27行目: 27行目:




== .NET for Android (旧Xamarin.Android) ==
[[.NET for Android]] (旧[[Xamarin.Android]])向けの[[NuGet]]も存在しています。
* https://www.nuget.org/packages/Xamarin.AndroidX.Compose.UI


<source lang="csharp">
using Android.App;
using Android.OS;
using AndroidX.AppCompat.App;
using Xamarin.AndroidX.Compose.UI;
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        // Compose UIのセットアップ
        ComposeView composeView = new ComposeView(this);
        composeView.SetContent(() =>
        {
            // ここにCompose UIのコンポーネントを配置します
        });
        // ComposeViewをContentViewとして設定
        SetContentView(composeView);
    }
}
</source>
これもだいたい同じですね。




[[category: AndroidX]]
[[category: AndroidX]]
[[category: Android]]
[[category: Android]]

2024年7月19日 (金) 06:53時点における版

Jetpack Compose (AndroidX Compose)とは、AndroidアプリのUIデザインを関数で定義するやつです。

大雑把にいえばiOSでいうSwiftUIみたいなもんです。ソースコードでガシガシとUIデザインするやつです。

SwiftUIではViewプロトコルのbodyプロパティで定義します。

struct ContentView: View {
    var body: some View {
        Text("hello world.")
    }
}

一方、AndroidXのComposeではActivityのsetContent関数で実装します。

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            Text("hello world.")
         }
    }
}

だいたい同じですね。