Android fragmentacja pojedyncza klatka
Jedna klatka gruzu: fragmenty jednej klatki jest przeznaczony dla małych urządzeń, takich jak ekran urządzeń przenośnych (telefony komórkowe), Android 3.0 lub nowszym wsparcia.
Przykłady
Ten przykład wyjaśnia, w jaki sposób tworzyć własne kawałki. Tutaj utworzenia dwóch fragmentów, z których jeden jest wykorzystywany w urządzeniu jest przekrój ekranu, gdy urządzenie jest używane w innym czasie pionowego ekranu. Prześledźmy etapy zacząć.
krok | opis |
---|---|
1 | Korzystanie z Androidem Studio IDE do tworzenia aplikacji na Androida o nazwie pojedynczych fragmentów, nazwa pakietu cn.uprogrammer.singlefragments. |
2 | Modyfikacja główny aktywny plik, jak pokazano poniżej MainActivity.java. Tutaj mamy zamiar sprawdzić orientację urządzenia, a na podstawie tego, aby przełączać się między różnymi kawałki. |
3 | Tworzenie PortraitFragment.java and LandscapeFragment.java dwa pliki w pakiecie cn.uprogrammer.singlefragments i metody związanej. |
4 | Utwórz plik układu res / layout / landscape_fragment.xml i res / layout / portrait_fragment.xml zdefiniowania układ dwóch fragmentów. |
5 | Modyfikacja RES / Układ / activity_main.xml zawiera dwa fragmenty. |
6 | Zdefiniować stałą potrzebę w RES / wartości / strings.xml w. |
7 | Uruchom emulator systemu Android, aby uruchomić aplikację i sprawdzić wyniki zmian wprowadzonych do wniosku. |
Poniżej przedstawiono główne zawartość aktywnego pliku src / cn.uprogrammer.singlefragments / MainActivity.java z:
package cn.uprogrammer.singlefragment; import android.os.Bundle; import android.app.Activity; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.res.Configuration; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Configuration config = getResources().getConfiguration(); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); /** * 检测设备方向,并做相应地操作。 */ if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) { /** * 设备的横屏模式。 */ LandscapeFragment ls_fragment = new LandscapeFragment(); fragmentTransaction.replace(android.R.id.content, ls_fragment); }else{ /** * 设备的竖屏模式。 */ PortraitFragment pm_fragment = new PortraitFragment(); fragmentTransaction.replace(android.R.id.content, pm_fragment); } fragmentTransaction.commit(); } }
Utwórz dwa pofragmentowane pliki LandscapeFragment.java i PortraitFragment.java w cn.uprogrammer.singlefragments pakietów.
Poniżej znajduje się treść pliku LandscapeFragment.java:
package cn.uprogrammer.singlefragment; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class LandscapeFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { /** * Inflate the layout for this fragment */ return inflater.inflate( R.layout.landscape_fragment, container, false); } }
Poniżej znajduje się plik zawartości PortraitFragment.java:
package cn.uprogrammer.singlefragment; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class PortraitFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { /** * Inflate the layout for this fragment */ return inflater.inflate( R.layout.portrait_fragment, container, false); } }
Utworzy dwa pliki układ landscape_fragment.xml i portrait_fragment.xml w res / katalogowej układu.
Poniżej znajduje się treść pliku landscape_fragment.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#7bae16"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/landscape_message" android:textColor="#000000" android:textSize="28sp" /> <!-- More GUI components go here --> </LinearLayout>
Poniżej znajduje się treść pliku portrait_fragment.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#666666"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/portrait_message" android:textColor="#000000" android:textSize="28sp" /> <!-- More GUI components go here --> </LinearLayout>
Poniżej znajduje się treść pliku res / layout / activity_main.xml, który zawiera dwa elementy:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <fragment android:id="@+id/landscape_fragment" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> <fragment android:id="@+id/portrait_fragment" android:layout_weight="2" android:layout_width="0dp" android:layout_height="match_parent" /> </LinearLayout>
Upewnić RES / wartości / plik strings.xml zawiera następujące elementy:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Single Fragment</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string name="landscape_message">这是横屏模式碎片</string> <string name="portrait_message">这是竖屏模式碎片</string> </resources>
Załóżmy, wystarczy uruchomić zmodyfikowane aplikacje pojedynczych fragmentów. Zakładam, że utworzyliśmy AVD podczas środowiska instalacji. Otwórz projekt w aktywnym pliku, kliknij przycisk na pasku narzędzi Ikona, aby uruchomić aplikację w Android Studio. Android Studio zainstalować aplikację na AVD i uruchamia go. Jeśli wszystko pójdzie dobrze, to zostanie wyświetlona w oknie emulatora w następujący sposób:
Zgodnie z poniższych czynności, aby zmienić kierunek trybie ekranu emulatora:
- fn + Control + F11 Zmiana mac w krajobrazie jako portret i odwrotnie
- Ctrl + F11 na oknach
- Ctrl + F11 na Linuksie
Po zmianie trybu, widać trybie poziomym odpowiedni do realizacji strony:
W ten sposób można przy tym przypadku przy użyciu nieużywane części w celu osiągnięcia różnych interfejsów. Można zbudować interfejs w zależności od potrzeb, stosując różnego rodzaju elementów interfejsu.