1
0

AndroidアプリでFragmentを作成して表示する

Last updated at Posted at 2024-07-23

はじめに

こんにちは、Androidアプリ開発の勉強を開始したばかりのkeitaMaxです。

公式に従ってやります。

設定追加

build.gradleのdependenciesに以下を追加します。

implementation(libs.androidx.fragment.ktx)

フラグメントを追加

フラグメントを追加します。

File>New>Fragment>FullScreenFragmentの順に操作し、名前をExampleFragmentにして追加しました。

スクリーンショット 2024-07-23 10.43.15.png

ExampleFragmentfragment_exampleファイルが作成されます。

今追加したフラグメントを表示する

activity_mainファイルに今のフラグメントを追加します。

activity_main
    <androidx.fragment.app.FragmentContainerView
        android:id="@+id/fragment_container_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:name="com.iggyapp.insuubunkai.ExampleFragment" />

MainActivityの中身も以下のように修正します。

MainActivity
class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding // 追加

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        binding = ActivityMainBinding.inflate(layoutInflater) // 追加
        setContentView(binding.root) // 修正
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
            val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
            insets
        }
        // ↓追加
        if (savedInstanceState == null) {
            supportFragmentManager.commit {
                setReorderingAllowed(true)
                add<ExampleFragment>(binding.fragmentContainerView.id)
            }
        }
    }
}

これでアンドロイドアプリを立ち上げてみると、

スクリーンショット 2024-07-23 11.02.40.png

こんな感じでHello Worldの上に先ほど追加したフラグメントが載っているのがわかりました。

おわりに

この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。

最後まで読んでいただきありがとうございました!

参考

次の記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0