Belajar Membuat Aplikasi Android Studi Kasus Proyek Akademi : Layouting – getsolutionit.com
Belajar Membuat Aplikasi Android Studi Kasus Proyek Akademi : Layouting


Codelab Layouting Proyek Academy

Setelah menyediakan asset-asset yang dibutuhkan, Anda perlu mengubah tampilan dari masing-masing Activity atau Fragment. Ubahlah satu per satu:

  1. activity_course_reader.xml
    Bukalah dan ubah ConstraintLayout menjadi FrameLayout:
    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_tools="http://schemas.android.com/tools"
    android_id="@+id/frame_container"
    android_layout_width="match_parent"
    android_layout_height="match_parent" />
  2. activity_detail_course.xml
    Hapus FloatingActionButton dan tambahkan NestedScrollView:
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    android_layout_width="match_parent"
    android_layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
    android_layout_width="match_parent"
    android_layout_height="wrap_content"
    android_theme="@style/AppTheme.AppBarOverlay">

    <androidx.appcompat.widget.Toolbar
    android_id="@+id/toolbar"
    android_layout_width="match_parent"
    android_layout_height="?attr/actionBarSize"
    android_background="?attr/colorPrimary"
    app_popupTheme="@style/AppTheme.PopupOverlay" />

    </com.google.android.material.appbar.AppBarLayout>

    <androidx.core.widget.NestedScrollView
    android_layout_width="match_parent"
    android_layout_height="match_parent"
    app_layout_behavior="@string/appbar_scrolling_view_behavior">

    <include layout="@layout/content_detail_course" />

    </androidx.core.widget.NestedScrollView>

    </androidx.coordinatorlayout.widget.CoordinatorLayout>
    Dengan mengubah kode di atas, maka akan terjadi error di kelas DetailCourseActivity. Hapuslah FloatingActionButton pada kelas tersebut, sehingga kode pada kelas DetailCourseActivity menjadi seperti ini:
    Kotlin
    class DetailCourseActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_detail_course)

    setSupportActionBar(toolbar)
    supportActionBar?.setDisplayHomeAsUpEnabled(true)
    }
    }
    Java
    public class DetailCourseActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detail_course);

    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }
    }
  3. activity_home.xml
    Ubah ConstraintLayout menjadi LinearLayout dan tambahkan TabLayout dan ViewPager:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    xmlns_tools="http://schemas.android.com/tools"
    android_layout_width="match_parent"
    android_layout_height="match_parent"
    android_orientation="vertical"
    tools_context=".ui.home.HomeActivity">

    <com.google.android.material.tabs.TabLayout
    android_id="@+id/tabs"
    android_layout_width="match_parent"
    android_layout_height="wrap_content"
    android_background="?attr/colorPrimary"
    app_tabTextColor="@android:color/white" />

    <androidx.viewpager.widget.ViewPager
    android_id="@+id/view_pager"
    android_layout_width="match_parent"
    android_layout_height="match_parent" />
    </LinearLayout>
  4. content_detail_course.xml
    Ubahlah isi layout tersebut menjadi seperti ini:
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    xmlns_tools="http://schemas.android.com/tools"
    android_layout_width="match_parent"
    android_layout_height="match_parent"
    android_descendantFocusability="blocksDescendants">

    <ImageView
    android_id="@+id/image_poster"
    android_layout_width="100dp"
    android_layout_height="100dp"
    android_layout_marginStart="8dp"
    android_layout_marginTop="8dp"
    android_src="@color/colorImage"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent"
    tools_ignore="ContentDescription" />

    <TextView
    android_id="@+id/text_title"
    android_layout_width="0dp"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginEnd="8dp"
    android_gravity="start"
    android_textColor="@color/colorAccent"
    android_textSize="18sp"
    android_textStyle="bold"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintHorizontal_bias="0.0"
    app_layout_constraintStart_toEndOf="@+id/image_poster"
    app_layout_constraintTop_toTopOf="@+id/image_poster"
    tools_text="@string/title" />

    <TextView
    android_id="@+id/text_date"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_layout_marginTop="8dp"
    android_layout_marginEnd="8dp"
    android_layout_marginBottom="8dp"
    android_gravity="start"
    android_textColor="@color/colorTextSecondary"
    android_textSize="12sp"
    android_textStyle="italic"
    app_layout_constraintBottom_toBottomOf="@+id/image_poster"
    app_layout_constraintEnd_toEndOf="@+id/text_title"
    app_layout_constraintHorizontal_bias="0.0"
    app_layout_constraintStart_toStartOf="@+id/text_title"
    app_layout_constraintTop_toBottomOf="@+id/text_title"
    app_layout_constraintVertical_bias="0.0"
    tools_text="@string/dateline" />

    <Button
    android_id="@+id/btn_start"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginTop="8dp"
    android_layout_marginEnd="8dp"
    android_background="@drawable/bg_button"
    android_text="@string/start_learn"
    android_textColor="@android:color/background_light"
    android_textSize="12sp"
    app_layout_constraintBottom_toBottomOf="@+id/image_poster"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintHorizontal_bias="1.0"
    app_layout_constraintStart_toEndOf="@+id/text_date"
    app_layout_constraintTop_toBottomOf="@+id/text_title"
    app_layout_constraintVertical_bias="1.0" />

    <TextView
    android_id="@+id/text_desc"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginTop="16dp"
    android_layout_marginEnd="8dp"
    android_text="@string/description_module"
    android_textColor="@color/colorText"
    android_textSize="16sp"
    android_textStyle="bold"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintHorizontal_bias="0"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toBottomOf="@+id/image_poster" />


    <View
    android_id="@+id/line1"
    android_layout_width="match_parent"
    android_layout_height="0.5dp"
    android_layout_marginStart="8dp"
    android_layout_marginTop="4dp"
    android_layout_marginEnd="8dp"
    android_background="#000000"
    app_layout_constraintTop_toBottomOf="@+id/text_desc" />

    <TextView
    android_id="@+id/text_description"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginTop="8dp"
    android_layout_marginEnd="8dp"
    android_textColor="@color/colorText"
    android_textSize="16sp"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintHorizontal_bias="0"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toBottomOf="@+id/line1"
    tools_text="@string/description" />

    <TextView
    android_id="@+id/text_list_module"
    android_layout_width="0dp"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginTop="16dp"
    android_layout_marginEnd="8dp"
    android_text="@string/list_module"
    android_textColor="@color/colorText"
    android_textSize="16sp"
    android_textStyle="bold"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintHorizontal_bias="0"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toBottomOf="@+id/text_description" />

    <View
    android_id="@+id/line2"
    android_layout_width="match_parent"
    android_layout_height="0.5dp"
    android_layout_marginStart="8dp"
    android_layout_marginTop="4dp"
    android_layout_marginEnd="8dp"
    android_background="#000000"
    app_layout_constraintTop_toBottomOf="@+id/text_list_module" />

    <androidx.recyclerview.widget.RecyclerView
    android_id="@+id/rv_module"
    android_layout_width="match_parent"
    android_layout_height="wrap_content"
    android_layout_marginStart="4dp"
    android_layout_marginTop="8dp"
    android_layout_marginEnd="4dp"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toBottomOf="@id/line2"
    tools_listitem="@layout/items_module_list" />

    <ProgressBar
    android_id="@+id/progress_bar"
    style="?android:attr/progressBarStyle"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginTop="8dp"
    android_visibility="gone"
    app_layout_constraintBottom_toBottomOf="@+id/rv_module"
    app_layout_constraintEnd_toEndOf="@+id/rv_module"
    app_layout_constraintStart_toStartOf="@+id/rv_module"
    app_layout_constraintTop_toTopOf="@+id/rv_module"
    tools_visibility="visible" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    Akan ada eror di bagian tools:listitem="@layout/items_module_list", ini terjadi karena dalam proyek belum ada items_module_list. Anda bisa klik ALT + Enter, kemudian pilih Create layout resource file ‘items_module_list.xml’ dan pilih OK.
    Lb_o_Den6oSB3YDN-kCQ0ov3rM8dOoM-zkX_YU-xDViYl3DJLtqS65IAyPnEz1sE97Uat6udtgqG__-jtlod4OLE1D4EuiKpu5tPqC2iD9m9MuPqOShjhIJFWgYGQQrQic8C5dJc
    Dengan itu Anda sudah membuat satu resource file baru dengan nama items_module_list.xml.
  5. fragment_academy.xml
    Tambahkan RecyclerView dan ProgressBar di dalam layout tersebut:
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    xmlns_tools="http://schemas.android.com/tools"
    android_layout_width="match_parent"
    android_layout_height="match_parent"
    android_background="@android:color/white">

    <androidx.recyclerview.widget.RecyclerView
    android_id="@+id/rv_academy"
    android_layout_width="0dp"
    android_layout_height="0dp"
    app_layout_behavior="@string/appbar_scrolling_view_behavior"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent"
    tools_listitem="@layout/items_academy">

    </androidx.recyclerview.widget.RecyclerView>

    <ProgressBar
    android_id="@+id/progress_bar"
    style="?android:attr/progressBarStyle"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginTop="8dp"
    android_layout_marginEnd="8dp"
    android_layout_marginBottom="8dp"
    android_visibility="gone"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
    Akan ada eror di bagian tools:listitem="@layout/items_academy", ini terjadi karena dalam proyek belum ada items_academy. Anda bisa klik ALT + Enter, kemudian pilih Create layout resource file items_academy.xml’ dan pilih OK.
    A01cTiGWEqgzIJ3_B9jZ99SjexShj3Z96d-yOPeYdOI_0JJ0pZ7iXPYoD1xJNLu19dGhZyJk89o_dUUYSNQG-jFbWNN8RvBLsVD4AOvDUROHV7p3YW3-pv-pdw3UPHdhevC1qkhV
    Dengan itu Anda sudah membuat satu resource file baru dengan nama items_academy.xml.
  6. fragment_bookmark.xml
    Tambahkan RecyclerView dan ProgressBar di dalam layout tersebut:
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    xmlns_tools="http://schemas.android.com/tools"
    android_layout_width="match_parent"
    android_layout_height="match_parent"
    android_background="@android:color/white">

    <androidx.recyclerview.widget.RecyclerView
    android_id="@+id/rv_bookmark"
    android_layout_width="0dp"
    android_layout_height="0dp"
    app_layout_behavior="@string/appbar_scrolling_view_behavior"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent"
    tools_listitem="@layout/items_bookmark">

    </androidx.recyclerview.widget.RecyclerView>

    <ProgressBar
    android_id="@+id/progress_bar"
    style="?android:attr/progressBarStyle"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_visibility="gone"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    Akan ada eror di bagian tools:listitem="@layout/items_bookmark", ini terjadi karena dalam proyek belum ada items_bookmark. Anda bisa klik ALT + Enter, kemudian pilih Create layout resource file items_bookmark.xml’ dan pilih OK.
    b3ak-DtIJW9l6bkc2uWHTvhYKYngBnkXufWY08yFhv4w9H2dedf8q5dwKjWwOevam1uxUy4YcGOkBFJSItlDYBiCmIWS4QuS_aI9EjoooR-Ut8iN_5Jw5Ou3XthL6-vsj7LXo-0d
    Dengan itu Anda sudah membuat satu resource file baru dengan nama items_bookmark.xml.
  7. fragment_module_content.xml
    Tambahkan WebView ke dalamnya:
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    android_layout_width="match_parent"
    android_layout_height="match_parent"
    android_background="@android:color/white">

    <WebView
    android_id="@+id/web_view"
    android_layout_width="0dp"
    android_layout_height="0dp"
    android_layout_marginStart="8dp"
    android_layout_marginTop="8dp"
    android_layout_marginEnd="8dp"
    android_layout_marginBottom="8dp"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent" />

    <ProgressBar
    android_id="@+id/progress_bar"
    style="?android:attr/progressBarStyle"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_visibility="gone"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
  8. fragment_module_list.xml
    Tambahkan RecyclerView dan ProgressBar ke dalam layout tersebut:
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    xmlns_tools="http://schemas.android.com/tools"
    android_layout_width="match_parent"
    android_layout_height="match_parent">

    <ProgressBar
    android_id="@+id/progress_bar"
    style="?android:attr/progressBarStyle"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginTop="8dp"
    android_layout_marginEnd="8dp"
    android_layout_marginBottom="8dp"
    android_visibility="gone"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="@+id/rv_module" />

    <androidx.recyclerview.widget.RecyclerView
    android_id="@+id/rv_module"
    android_layout_width="0dp"
    android_layout_height="0dp"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent"
    tools_listitem="@layout/items_module_list" />
    </androidx.constraintlayout.widget.ConstraintLayout>
  9. items_academy.xml
    Bukalah dan tambahkan kode pada layout tersebut menjadi seperti ini:
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.cardview.widget.CardView xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    xmlns_tools="http://schemas.android.com/tools"
    android_id="@+id/cv_item_course"
    android_layout_width="match_parent"
    android_layout_height="wrap_content"
    android_layout_marginLeft="8dp"
    android_layout_marginRight="8dp"
    android_orientation="vertical"
    app_cardCornerRadius="4dp"
    app_cardElevation="4dp"
    app_cardMaxElevation="4dp"
    app_cardUseCompatPadding="true">

    <androidx.constraintlayout.widget.ConstraintLayout
    android_id="@+id/item_container"
    android_layout_width="match_parent"
    android_layout_height="wrap_content">

    <ImageView
    android_id="@+id/img_poster"
    android_layout_width="120dp"
    android_layout_height="120dp"
    android_layout_alignParentStart="true"
    android_layout_alignParentTop="true"
    android_src="@color/colorImage"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent"
    tools_ignore="ContentDescription" />

    <TextView
    android_id="@+id/tv_item_title"
    android_layout_width="0dp"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginTop="8dp"
    android_layout_marginEnd="8dp"
    android_ellipsize="end"
    android_gravity="start"
    android_textColor="@color/colorAccent"
    android_textSize="16sp"
    android_textStyle="bold"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toEndOf="@+id/img_poster"
    app_layout_constraintTop_toTopOf="parent"
    tools_text="@string/title" />

    <TextView
    android_id="@+id/tv_item_date"
    android_layout_width="0dp"
    android_layout_height="wrap_content"
    android_layout_marginTop="2dp"
    android_gravity="start"
    android_textColor="@color/colorTextSecondary"
    android_textSize="12sp"
    android_textStyle="italic"
    app_layout_constraintEnd_toEndOf="@+id/tv_item_description"
    app_layout_constraintStart_toStartOf="@+id/tv_item_description"
    app_layout_constraintTop_toBottomOf="@+id/tv_item_description"
    tools_text="@string/dateline" />

    <TextView
    android_id="@+id/tv_item_description"
    android_layout_width="0dp"
    android_layout_height="wrap_content"
    android_layout_marginTop="2dp"
    android_ellipsize="end"
    android_gravity="start"
    android_maxLines="1"
    android_textColor="@color/colorText"
    android_textSize="14sp"
    app_layout_constraintEnd_toEndOf="@+id/tv_item_title"
    app_layout_constraintStart_toStartOf="@+id/tv_item_title"
    app_layout_constraintTop_toBottomOf="@+id/tv_item_title"
    tools_text="@string/description" />

    </androidx.constraintlayout.widget.ConstraintLayout>
    </androidx.cardview.widget.CardView>
  10. items_bookmark.xmlBukalah dan tambahkan kode pada layout tersebut menjadi seperti ini:
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.cardview.widget.CardView xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    xmlns_tools="http://schemas.android.com/tools"
    android_id="@+id/cv_item_course"
    android_layout_width="match_parent"
    android_layout_height="wrap_content"
    android_layout_marginLeft="8dp"
    android_layout_marginRight="8dp"
    android_orientation="vertical"
    app_cardCornerRadius="4dp"
    app_cardElevation="4dp"
    app_cardMaxElevation="4dp"
    app_cardUseCompatPadding="true">

    <androidx.constraintlayout.widget.ConstraintLayout
    android_id="@+id/item_container"
    android_layout_width="match_parent"
    android_layout_height="wrap_content">

    <ImageView
    android_id="@+id/img_poster"
    android_layout_width="120dp"
    android_layout_height="120dp"
    android_layout_alignParentStart="true"
    android_layout_alignParentTop="true"
    android_src="@color/colorImage"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintStart_toStartOf="parent"
    app_layout_constraintTop_toTopOf="parent"
    tools_ignore="ContentDescription" />

    <TextView
    android_id="@+id/tv_item_title"
    android_layout_width="0dp"
    android_layout_height="wrap_content"
    android_layout_marginStart="8dp"
    android_layout_marginTop="8dp"
    android_layout_marginEnd="8dp"
    android_ellipsize="end"
    android_gravity="start"
    android_textColor="@color/colorAccent"
    android_textSize="16sp"
    android_textStyle="bold"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintStart_toEndOf="@+id/img_poster"
    app_layout_constraintTop_toTopOf="parent"
    tools_text="@string/title" />

    <TextView
    android_id="@+id/tv_item_date"
    android_layout_width="0dp"
    android_layout_height="wrap_content"
    android_layout_marginTop="2dp"
    android_gravity="start"
    android_textColor="@color/colorTextSecondary"
    android_textSize="12sp"
    android_textStyle="italic"
    app_layout_constraintEnd_toEndOf="@+id/tv_item_description"
    app_layout_constraintStart_toStartOf="@+id/tv_item_description"
    app_layout_constraintTop_toBottomOf="@+id/tv_item_description"
    tools_text="@string/dateline" />

    <TextView
    android_id="@+id/tv_item_description"
    android_layout_width="0dp"
    android_layout_height="wrap_content"
    android_layout_marginTop="2dp"
    android_ellipsize="end"
    android_gravity="start"
    android_maxLines="1"
    android_textColor="@color/colorText"
    android_textSize="14sp"
    app_layout_constraintEnd_toEndOf="@+id/tv_item_title"
    app_layout_constraintStart_toStartOf="@+id/tv_item_title"
    app_layout_constraintTop_toBottomOf="@+id/tv_item_title"
    tools_text="@string/description" />

    <ImageButton
    android_id="@+id/img_share"
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_layout_marginTop="2dp"
    android_layout_marginEnd="8dp"
    android_layout_marginBottom="8dp"
    android_background="@android:color/transparent"
    android_scaleType="fitXY"
    android_src="@drawable/ic_share_blue"
    app_layout_constraintBottom_toBottomOf="parent"
    app_layout_constraintEnd_toEndOf="parent"
    app_layout_constraintTop_toBottomOf="@+id/tv_item_date"
    app_layout_constraintVertical_bias="1.0"
    tools_ignore="ContentDescription" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    </androidx.cardview.widget.CardView>
  11. items_module_list.xml
    Bukalah dan tambahkan kode pada layout tersebut menjadi seperti ini:
    <?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="match_parent"
    android_layout_height="wrap_content"
    android_layout_margin="4dp"
    android_orientation="vertical">

    <TextView
    android_id="@+id/text_module_title"
    android_layout_width="match_parent"
    android_layout_height="wrap_content"
    android_layout_marginBottom="4dp"
    android_textColor="@color/colorText"
    tools_text="@string/example" />

    </LinearLayout>
  12. items_module_list_custom.xml
    Lakukan duplicate layout items_module_list.xml dengan cara klik kanan, pilih copy, klik kanan kembali dan pilih paste. Ubahlah namanya menjadi items_module_list_custom.xml dan klik OK.
    5q9XW_FDuUDJnuTjB9c85iwYkrlKpvWwqCrrcCT-bbZ_hrX9tsl_fhy0olp9Dcx_7pT9Y9Tbv24ydJVqqxIg1TqSNGlMX_nbOpPTPsoGd_Ag-7LLMz9sEXksD6q64XREq1-PbxoB
    Buka dan ubahlah kode di dalam layout tersebut menjadi seperti ini:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_app="http://schemas.android.com/apk/res-auto"
    xmlns_tools="http://schemas.android.com/tools"
    android_layout_width="match_parent"
    android_layout_height="wrap_content"
    android_layout_margin="4dp"
    android_orientation="vertical"
    tools_ignore="UseCompoundDrawables">

    <LinearLayout
    android_layout_width="match_parent"
    android_layout_height="match_parent"
    android_layout_marginBottom="4dp"
    android_orientation="horizontal"
    tools_ignore="UseCompoundDrawables">

    <ImageView
    android_id="@+id/imageView"
    android_layout_width="8dp"
    android_layout_height="8dp"
    android_layout_gravity="center"
    app_srcCompat="@drawable/ic_circle_black"
    tools_ignore="ContentDescription" />

    <TextView
    android_id="@+id/text_module_title"
    android_layout_width="0dp"
    android_layout_height="wrap_content"
    android_layout_gravity="center"
    android_layout_marginStart="8dp"
    android_layout_weight="2"
    android_ellipsize="end"
    android_textColor="@color/colorText"
    android_textSize="14sp"
    android_textStyle="bold"
    tools_text="@string/example" />

    </LinearLayout>
    </LinearLayout>
Dengan ini, semua asset layout sudah Anda persiapkan. Selanjutnya apa lagi ya? Tentu menghubungkan semua asset-asset dan komponen yang ada di layout ke Activity dan Fragment. Tetap semangat ya!
Dijual Akun Youtube Sultan
Akun Sudah Memiliki 100-800.000 Subscribes & Sudah Monetisasi
Details
Dijual Akun FB, IG, LINKEDIN & Tiktok Mewah

Akun Sudah Memiliki 100-800.000 Followers

Details
Dijual Akun Twitter Mewah
Akun Sudah Memiliki 100-800.000 Followers
Details
Tools AI & Softwher
Tools AI & Beragam Softwher Serta Beragam Source Code Web Perimum
Details
.
Berikut List Produk Kami :

Dapatkan Produk Virtual Kmisini dengan harga pelajar, kualitas profesional ahli. 




Produk Yang Kami Jual Semua Berkualitas Premium & 100% Aman

Read More
Berikut List Layanan Kami :

Dapatkan layanan kami di sini dengan harga pelajar, kualitas profesional ahli. 




Jadikan Kami Tim Anda dalam Mengembangkan Bisnis Luar Biasa Anda.

Read More
Jasa Kelola Konten
Facebook, Instagram, Twitter, dan Linkedin
Details
Jasa Editing Video
Jasa mengelola Konten youtube dan tiktok
Details
Jasa Iklan Untuk Google
Website, Youtube, Gmail & Google Maps
Details
Jasa Website
Jasa Pembuatan website profesional
Details
Jasa SEO
Jasa SEO Website (search engine optimization)
Details
Jasa Tools AI
Setup & Pembuatan Tools
Details
Jasa Akun Terverifikasi
Centang Hijau / Biru All Media Sosial
Details
Jasa Pembuatan Project
IoT, Robotika, Elektronika dan Otomasi
Details
jasa sistem informasi
jasa pembuatan sistem informasi
Details
Jasa Pembuatan Aplikasi
Aplikasi Android, iOS dan Dekstop
Details
Jasa Google Maps
Jasa Pembuatan Titik Google Maps & Tambah Ulasan Positif
Details
Cyber Security
Jasa Cyber Security- Keamanan Semua Sistem
Details