「Jetpack Compose」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| 25行目: | 25行目: | ||
だいたい同じですね。 | だいたい同じですね。 | ||
== .NET for Android (旧Xamarin.Android) == | |||
[[.NET for Android]] (旧[[Xamarin.Android]])向けの[[NuGet]]も存在しています。 | |||
* https://www.nuget.org/packages/Xamarin.AndroidX.Compose.UI | |||
<source lang="csharp"> | |||
[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日 (金) 05:16時点における版
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.")
}
}
}
だいたい同じですね。
.NET for Android (旧Xamarin.Android)
.NET for Android (旧Xamarin.Android)向けのNuGetも存在しています。
[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);
}
}
これもだいたい同じですね。