From c630ce1192b8f330e3b044442c232c7a0648ba74 Mon Sep 17 00:00:00 2001 From: Mukhammad Erif Fanani Date: Tue, 21 Jun 2022 12:32:13 +0700 Subject: [PATCH] add example activity for combine view --- app/src/main/AndroidManifest.xml | 3 + .../com/erif/contentloader/MainActivity.java | 2 + .../example/ActivityCombine.java | 75 +++++++++++++ app/src/main/res/layout/activity_combine.xml | 103 ++++++++++++++++++ app/src/main/res/layout/activity_main.xml | 6 + 5 files changed, 189 insertions(+) create mode 100644 app/src/main/java/com/erif/contentloader/example/ActivityCombine.java create mode 100644 app/src/main/res/layout/activity_combine.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5081798..57ab98d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,6 +13,9 @@ android:supportsRtl="true" android:theme="@style/Theme.ContentLoader" tools:targetApi="31"> + diff --git a/app/src/main/java/com/erif/contentloader/MainActivity.java b/app/src/main/java/com/erif/contentloader/MainActivity.java index e828ae9..060596d 100644 --- a/app/src/main/java/com/erif/contentloader/MainActivity.java +++ b/app/src/main/java/com/erif/contentloader/MainActivity.java @@ -6,6 +6,7 @@ import androidx.appcompat.app.AppCompatActivity; +import com.erif.contentloader.example.ActivityCombine; import com.erif.contentloader.example.ActivityFrame; import com.erif.contentloader.example.ActivityGrid; import com.erif.contentloader.example.ActivityHorizontal; @@ -25,6 +26,7 @@ protected void onCreate(Bundle savedInstanceState) { onClick(R.id.btnHorizontal, ActivityHorizontal.class); onClick(R.id.btnGrid, ActivityGrid.class); onClick(R.id.btnNonList, ActivityFrame.class); + onClick(R.id.btnCombine, ActivityCombine.class); } diff --git a/app/src/main/java/com/erif/contentloader/example/ActivityCombine.java b/app/src/main/java/com/erif/contentloader/example/ActivityCombine.java new file mode 100644 index 0000000..b7660c9 --- /dev/null +++ b/app/src/main/java/com/erif/contentloader/example/ActivityCombine.java @@ -0,0 +1,75 @@ +package com.erif.contentloader.example; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.os.Bundle; +import android.view.MenuItem; +import android.widget.RelativeLayout; +import android.widget.Toast; + +import com.erif.contentloader.ContentLoaderFrameLayout; +import com.erif.contentloader.R; +import com.erif.contentloader.helper.DataAdapterVertical; +import com.erif.contentloader.helper.DelayTimer; + +import java.util.ArrayList; +import java.util.List; + +public class ActivityCombine extends AppCompatActivity { + + private final DataAdapterVertical adapter = new DataAdapterVertical(); + private final List list = new ArrayList<>(); + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_combine); + if (getSupportActionBar() != null) { + getSupportActionBar().setTitle("Combine Loader"); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + } + Toast.makeText(this, "Loading simulation...", Toast.LENGTH_SHORT).show(); + + ContentLoaderFrameLayout loader = findViewById(R.id.act_combine_loader); + RelativeLayout image = findViewById(R.id.act_combine_layoutImage); + loader.startAndHideContent(image, true); + + RecyclerView recyclerView = findViewById(R.id.act_combine_recyclerView); + setupList(recyclerView); + + ContentLoaderFrameLayout loaderVertical = findViewById(R.id.content_combine_vertical); + loaderVertical.startAndHideContent(recyclerView, true); + + new DelayTimer(2, () -> { + loader.stopAndShowContent(image, true); + }).start(); + + new DelayTimer(3, () -> { + adapter.setList(list); + loaderVertical.stopAndShowContent(recyclerView, true); + }).start(); + + } + + private void setupList(RecyclerView recyclerView) { + recyclerView.setAdapter(adapter); + LinearLayoutManager manager = new LinearLayoutManager(this); + recyclerView.setLayoutManager(manager); + for (int i=0; i<20; i++) { + list.add(i); + } + } + + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + if (item.getItemId() == android.R.id.home) { + finish(); + return true; + } + return super.onOptionsItemSelected(item); + } + +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_combine.xml b/app/src/main/res/layout/activity_combine.xml new file mode 100644 index 0000000..baa1f79 --- /dev/null +++ b/app/src/main/res/layout/activity_combine.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 3ce9230..10418ba 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -32,4 +32,10 @@ android:layout_height="wrap_content" android:text="Non List"/> +