Mengenal Fragment pada Android Studio
Mengenal Fragment Pada Android Studio
Fragment merupakan komponen antar muka yang merupakan sebuah activity atau disebut juga sebagai sub-activity.
contoh fragment android :
Disini saya akan berbagi cara membuat aplikasi dengan fragment di Android Studio, langsung saja kita ke prosesnya.
1. Isi activity_main.xml
<android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="@dimen/appbar_padding_top" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:layout_weight="1" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/AppTheme.PopupOverlay" app:title="Phone"> </android.support.v7.widget.Toolbar> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.TabItem android:id="@+id/tabItem" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Log" /> <android.support.design.widget.TabItem android:id="@+id/tabItem2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Contact" /> <android.support.design.widget.TabItem android:id="@+id/tabItem3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Favorites" /> </android.support.design.widget.TabLayout></android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="@dimen/fab_margin" app:srcCompat="@android:drawable/ic_dialog_email" />
2. Isi dari fragment_layout1.xml, disini saya memberikan nama layout1 supaya mudah dipahami dan dimengerti oleh pembaca, berikut source code nya.
<LinearLayout android:layout_width="220dp" android:layout_height="wrap_content" android:layout_weight="2" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="50dp" android:textSize="18dp" android:layout_gravity="center" android:text="DAFTAR PANGGILAN" android:textColor="#ffffff" /> <LinearLayout android:id="@+id/log1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="log1" android:orientation="horizontal"> <ImageView android:layout_width="60dp" android:layout_height="70dp" android:layout_gravity="left" android:src="@drawable/log11" /> <TextView android:layout_width="match_parent" android:layout_height="90dp" android:textSize="20dp" android:text="+682298380950 \n Ahmad Pratama" android:textColor="#ffffff" /> </LinearLayout> <LinearLayout android:id="@+id/log2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="log2" android:orientation="horizontal"> <ImageView android:layout_width="60dp" android:layout_height="70dp" android:layout_gravity="left" android:src="@drawable/log2" /> <TextView android:layout_width="match_parent" android:layout_height="70dp" android:textSize="20dp" android:text="+682298380950 \n Bawono Sudrajat" android:textColor="#ffffff" /> </LinearLayout> </LinearLayout>
3. Mengaktifkan function onClick supaya dapat terbuka sub-Activity berikutnya. dengan cara membuat activity baru sesuai keinginan anda, berhubung saya membuat aplikasi phone maka saya menggunakan log sebagai next sub-activity. Berikut source code nya :
A. Activity_log.xml
<LinearLayout android:layout_width="220dp" android:layout_height="wrap_content" android:layout_weight="2" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="50dp" android:textSize="18dp" android:layout_gravity="center" android:text="Panggilan Masuk" android:textColor="#ffffff" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal"> <ImageView android:layout_width="60dp" android:layout_height="70dp" android:layout_gravity="left" android:src="@drawable/log11" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:textSize="20dp" android:text="+682298380950 \n Ahmad Pratama \n Jam : 18:00:32" android:textColor="#ffffff" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal"> <ImageView android:layout_width="60dp" android:layout_height="70dp" android:layout_gravity="left" android:src="@drawable/log11" /> <TextView android:layout_width="match_parent" android:layout_height="90dp" android:textSize="20dp" android:text="+682298380950 \n Bawono Sudrajat \n Jam : 18:00:32" android:textColor="#ffffff" /> </LinearLayout></LinearLayout>
B. LogActivity.java
public class LogActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_log); } }
4. Menambahkan code pada MainActivity.java agar semuanya saling berhubungan. Berikut tambahan yang dimasukan :
public void log1(View view) { startActivity(new Intent(MainActivity.this,LogActivity.class));}
public class SectionsPagerAdapter extends FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { Fragment fragment = null; switch (position){ case 0: fragment = new Fragment1(); break; case 1: fragment = new Fragment2(); break; case 2: fragment = new Fragment3(); } return fragment; // getItem is called to instantiate the fragment for the given page. // Return a PlaceholderFragment (defined as a static inner class below). //return PlaceholderFragment.newInstance(position + 1); } @Override public int getCount() { // Show 3 total pages. return 3; } }
Komentar
Posting Komentar