implementation 'androidx.core:core-splashscreen:1.0.0' I am using this library to show a splash screen and this shows my splash screen image in only a part of the screen I want the image to fill the full screen. Here's my themes.xml
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.News" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">#FFFFFF</item>
<item name="colorPrimaryVariant">#EF9A9A</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
<item name = "android:textColorPrimary">#ffffff</item>
</style>
<style name="Splash" parent="Theme.SplashScreen">
<item name="windowSplashScreenAnimatedIcon">@drawable/splash</item>
<item name="postSplashScreenTheme">@style/Theme.News</item>
</style>
</resources>
Here's my Manifest File
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Splash"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Here's my MainActivity
package com.example.news
import android.content.res.ColorStateList
import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.core.content.ContextCompat
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.viewpager2.widget.ViewPager2
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
class MainActivity : AppCompatActivity() {
lateinit var tabLayout: TabLayout
lateinit var viewPager: ViewPager2
private val tabList = listOf("Top", "Politics", "Technology")
private val topNewsFragment = NewsFragment.newInstance("top")
private val politicsNewsFragment = NewsFragment.newInstance("politics")
private val technologyNewsFragment = NewsFragment.newInstance("technology")
private val fragmentList = listOf(topNewsFragment,politicsNewsFragment,technologyNewsFragment)
override fun onCreate(savedInstanceState: Bundle?) {
installSplashScreen()
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
tabLayout = findViewById(R.id.tabLayout)
tabLayout.setBackgroundColor(ContextCompat.getColor(applicationContext,R.color.red))
viewPager = findViewById(R.id.viewPager)
viewPager.adapter = MyPagerAdapter(supportFragmentManager,lifecycle,fragmentList)
TabLayoutMediator(tabLayout, viewPager) { tab, position ->
tab.text = tabList[position]
}.attach()
}
}
Also how can we increase the time for which splash screen is shown