### Kotlin Initialization and Usage Source: https://github.com/faltenreich/skeletonlayout/blob/develop/README.md Initialize and use SkeletonLayout in your Kotlin activity. You can either reference an existing SkeletonLayout from XML or create one programmatically. Examples show basic initialization, custom mask layout, and support for ViewPager2 and RecyclerView. ```kotlin class MainActivity : AppCompatActivity() { private lateinit var skeleton: Skeleton override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Either use an existing Skeletonlayout skeleton = findViewById(R.id.skeletonLayout) // or create a new SkeletonLayout from a given View skeleton = view.createSkeleton() // and customize every detail including the layout used for the skeleton mask skeleton = view.createSkeleton(config = SkeletonConfig.default(this, maskLayout = R.layout.custom_mask)) // support ViewPager2 skeleton = viewPager2.applySkeleton(R.layout.list_item_viewpager2) // support RecyclerView skeleton = recyclerView.applySkeleton(R.layout.list_item_recyclerview) skeleton.showSkeleton() } // Example callback that hides skeleton private fun onDataLoaded() { skeleton.showOriginal() } } ``` -------------------------------- ### Initialize and Show Skeleton Source: https://github.com/faltenreich/skeletonlayout/blob/develop/README.md Demonstrates how to initialize a Skeleton Layout by either finding an existing one or creating a new one from a view. It also shows how to display the skeleton. ```java public class MainActivity extends AppCompatActivity { private Skeleton skeleton; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Either use an existing SkeletonLayout skeleton = findViewById(R.id.skeletonLayout); // or create a new SkeletonLayout from a given View skeleton = SkeletonLayoutUtils.createSkeleton(view); // and customize every detail including the layout used for the skeleton mask skeleton = SkeletonLayoutUtils.createSkeleton(view, SkeletonConfig.Companion.defaults(this, R.layout.custom_mask)); // support ViewPager2 skeleton = SkeletonLayoutUtils.applySkeleton(viewPager2, R.layout.list_item_viewpager2); // support RecyclerView skeleton = SkeletonLayoutUtils.applySkeleton(recyclerView, R.layout.list_item_recyclerview); skeleton.showSkeleton(); } // Example callback that hides skeleton private void onDataLoaded() { skeleton.showOriginal(); } } ``` -------------------------------- ### Add SkeletonLayout Dependency Source: https://github.com/faltenreich/skeletonlayout/blob/develop/README.md Add the SkeletonLayout library to your project's build.gradle file. Replace '' with the latest version available. ```gradle buildscript { repositories { mavenCentral() } } dependencies { implementation 'com.faltenreich:skeletonlayout:' } ``` -------------------------------- ### XML Layout for SkeletonLayout Source: https://github.com/faltenreich/skeletonlayout/blob/develop/README.md Integrate SkeletonLayout into your XML layout file. Place the views you want to mask inside the SkeletonLayout tag. ```xml ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.