Kako koristiti fragmente u aplikaciji postavki na Androidu?

Oct 20, 2026Ostavite poruku

Fragmenti su moćan alat u razvoju Androida, posebno pri izradi aplikacije postavki. Omogućuju vam stvaranje modularnih komponenti korisničkog sučelja za višekratnu upotrebu kojima se lako može upravljati i ažurirati. Kao dobavljač fragmenata, imao sam priliku raditi na brojnim Android projektima i želio bih podijeliti neke uvide o tome kako učinkovito koristiti fragmente u aplikaciji postavki.

Razumijevanje fragmenata u Androidu

Prije nego što zaronite u detalje korištenja fragmenata u aplikaciji postavki, važno je razumjeti što su fragmenti i kako funkcioniraju. U Androidu, fragment je modularni dio aktivnosti koji ima vlastiti životni ciklus, izgled i ponašanje. Fragmenti se mogu kombinirati kako bi se stvorilo složenije korisničko sučelje i mogu se ponovno koristiti u različitim aktivnostima.

Fragmenti su korisni u aplikacijama za postavke jer vam omogućuju rastavljanje postavki na manje odjeljke kojima je lakše upravljati. Na primjer, možete imati fragment za opće postavke, drugi za postavke privatnosti i još jedan za postavke obavijesti. Svaki fragment može se dizajnirati i implementirati neovisno, čineći bazu koda organiziranijom i lakšom za održavanje.

Postavljanje projekta

Da biste počeli koristiti fragmente u aplikaciji postavki, najprije trebate postaviti novi Android projekt. Možete koristiti Android Studio za izradu novog projekta s praznom aktivnošću. Nakon što je projekt izrađen, morat ćete dodati potrebne ovisnosti za rad s fragmentima.

U vašemizgraditi.gradledatoteku, provjerite imate li sljedeće ovisnosti:

2-(1-(2-Fluorobenzyl)piperidin-4-yl)-1H-benzo[d]imidazole1-(4-Chlorophenyl)-5-methyl-1H-pyrazole-4-carboxylic Acid

implementacija 'androidx.appcompat:appcompat:1.4.1' implementacija 'androidx.fragment:fragment:1.4.1'

Ove će ovisnosti pružiti potrebne klase i API-je za rad s fragmentima u vašoj aplikaciji.

Stvaranje fragmenata za postavke

Sljedeći je korak stvaranje fragmenata za vašu aplikaciju postavki. Možete stvoriti novi fragment desnim klikom na paket vašeg projekta u Android Studiju i odabiromNovi>Fragment>Fragment (prazno). Dajte svom fragmentu smisleno ime, nprFragment općih postavkiiliPrivacySettingsFragment.

Evo primjera jednostavne klase fragmenata:

import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.fragment.app.Fragment; public class GeneralSettingsFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Naduvavanje izgleda za ovaj fragment return inflater.inflate(R.layout.fragment_general_settings, container, false); }}

U ovom primjeru,Fragment općih postavkiklasa proširujeFragmentklase i nadjačavaonCreateViewmetoda za napuhavanje izgleda za fragment. Datoteka izgledafragment_opće_postavke.xmltreba stvoriti urez/izgledimenik.

Izgled za fragmente

Izgled za svaki fragment treba biti dizajniran za prikaz relevantnih postavki. Možete koristiti razne komponente korisničkog sučelja kao što suTextView,Prekidač,Potvrdni okvir, iSpinnerza stvaranje korisničkog sučelja postavki.

Evo primjera datoteke izgleda zaFragment općih postavki:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Opće postavke" android:textSize="24sp" android:textStyle="bold" /> <Prebaci android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Omogući obavijesti" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Prikaži vodič pri pokretanju" /> </LinearLayout>

Ovaj izgled prikazuje naslov za odjeljak općih postavki, prekidač za omogućavanje obavijesti i potvrdni okvir za prikazivanje vodiča pri pokretanju.

Dodavanje fragmenata u aktivnost

Nakon što ste izradili fragmente i njihove izglede, trebate ih dodati u glavnu aktivnost vaše aplikacije postavki. To možete učiniti pomoću aFragmentManageri aFragmentTransaction.

Evo primjera kako dodati fragment aktivnosti:

import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; javna klasa SettingsActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); // Dobivanje FragmentManager FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); // Stvorite novu instancu GeneralSettingsFragmenta GeneralSettingsFragmenta generalSettingsFragmenta = new GeneralSettingsFragment(); // Dodavanje fragmenta aktivnosti fragmentTransaction.add(R.id.fragment_container, generalSettingsFragment); fragmentTransaction.commit(); }}

U ovom primjeru,Postavke Aktivnostklasa proširujeAppCompatActivityrazreda. uonCreatemetoda, dobivamoFragmentManageri započeti aFragmentTransaction. Zatim stvaramo novu instancuFragment općih postavkii dodajte ga u aktivnost pomoćudodatimetoda. Na kraju, obvezujemo transakciju kako bismo fragment učinili vidljivim.

Kretanje između fragmenata

U aplikaciji za postavke korisnici će se možda trebati kretati između različitih fragmenata kako bi pristupili različitim odjeljcima postavki. Možete implementirati navigaciju između fragmenata pomoću navigacijske ladice, donje navigacijske trake ili rasporeda kartica.

Evo primjera kako implementirati navigaciju pomoću donje navigacijske trake:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <FrameLayout android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottom_navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" app:menu="@menu/bottom_navigation_menu" /> </LinearLayout>

U ovom rasporedu imamo aFrameLayoutza izlaganje fragmenata i aBottomNavigationViewza navigaciju. Theapp:izbornikatribut se odnosi na datoteku resursa izbornika koja definira stavke u donjoj navigacijskoj traci.

Ovdje je datoteka resursa izbornikabottom_navigation_menu.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_general_settings" android:icon="@drawable/ic_general_settings" android:title="Opće postavke" /> <item android:id="@+id/menu_privacy_settings" android:icon="@drawable/ic_privacy_settings" android:title="Postavke privatnosti" /> <item android:id="@+id/menu_notification_settings" android:icon="@drawable/ic_notification_settings" android:title="Postavke obavijesti" /> </menu>

Za upravljanje navigacijom, možete dodatiOnNavigationItemSelectedListenerpremaBottomNavigationView:

import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import com.google.android.material.bottomnavigation.BottomNavigationView; javna klasa SettingsActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation); bottomNavigationView.setOnNavigationItemSelectedListener(item -> { Fragment fragment = null; switch (item.getItemId()) { case R.id.menu_general_settings: fragment = new GeneralSettingsFragment(); break; case R.id.menu_privacy_settings: fragment = new PrivacySettingsFragment(); break; case R.id.menu_notification_settings: fragment = new NotificationSettingsFragment(); } if (fragment != null) { FragmentManager fragmentManager(); FragmentTransaction fragmentTransaction(); fragmentTransaction.replace(R.id.fragment_container, fragment); fragmentTransaction.commit(); return true}; // Prikaži fragment općih postavki prema zadanim postavkama FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(R.id.fragment_container, new GeneralSettingsFragment()); fragmentTransaction.commit(); }}

U ovom kodu postavljamoOnNavigationItemSelectedListenerpremaBottomNavigationView. Kada se odabere stavka izbornika, kreiramo odgovarajući fragment i zamijenimo trenutni fragment uFragmentContainers novim fragmentom.

Rad sa životnim ciklusom fragmenata

Fragmenti imaju vlastiti životni ciklus, koji je sličan životnom ciklusu aktivnosti, ali je složeniji. Važno je razumjeti životni ciklus fragmenta kako biste bili sigurni da se vaša aplikacija ponaša ispravno.

Glavne metode životnog ciklusa fragmenta uključujuonCreate,onCreateView,onViewCreated,onStart,onResume,onPause,onStop,onDestroyView, ionDestroy. Možete nadjačati ove metode za izvođenje određenih radnji u različitim fazama životnog ciklusa fragmenta.

Na primjer, možda želite spremiti stanje fragmenta uonSaveInstanceStatemetodu i obnoviti je uonCreateilionViewCreatedmetoda.

import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.fragment.app.Fragment; public class GeneralSettingsFragment extends Fragment { private static final String KEY_SWITCH_STATE = "switch_state"; privatni boolean switchState; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState != null) { switchState = savedInstanceState.getBoolean(KEY_SWITCH_STATE); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_general_settings, container, false); Prebaci switchView = view.findViewById(R.id.switch_notifications); switchView.setChecked(switchState); switchView.setOnCheckedChangeListener((buttonView, isChecked) -> { switchState = isChecked; }); povratni pogled; } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putBoolean(KEY_SWITCH_STATE, switchState); }}

U ovom primjeru spremamo stanje prekidača uonSaveInstanceStatemetodu i obnoviti je uonCreatemetoda.

Korištenje naše biblioteke fragmenata

Kao dobavljač fragmenata, nudimo širok raspon visokokvalitetnih fragmenata koji se mogu jednostavno integrirati u vašu aplikaciju postavki. Na primjer, imamo fragmente koji su posebno dizajnirani za rukovanje različitim vrstama postavki. Možete istražiti našu knjižnicu fragmenata molekularnih gradivnih blokova kao što sul-metil-3-(tiofen-2-il)-lH-pirazol-5-amin,2-(1-(2-fluorobenzil)piperidin-4-il)-1H-benzo[d]imidazol, il-(4-klorfenil)-5-metil-lH-pirazol-4-karboksilna kiselina. Ovi su fragmenti osmišljeni kako bi pružili besprijekorno iskustvo vašim korisnicima i mogu značajno skratiti vrijeme razvoja.

Kontaktirajte nas za nabavu

Ako ste zainteresirani za korištenje naših fragmenata u svojoj Android aplikaciji za postavke, potičemo vas da nas kontaktirate radi nabave. Naš tim stručnjaka spreman je pomoći vam u integraciji naših fragmenata u vaš projekt i pružiti svu potrebnu podršku. Bez obzira jeste li mali startup ili veliko poduzeće, možemo ponuditi rješenja koja zadovoljavaju vaše specifične potrebe.

Reference

  • Dokumentacija za razvojne programere Androida - fragmenti
  • Korisnički priručnik za Android Studio

Pošaljite upit

whatsapp

Telefon

E-pošte

Upit