У меня есть приложение, которое при первой установке появляется экран spla sh, а затем появляется вступление с 3 фрагментами и объясняет, как работает приложение. Однако, как только пользователь прошел через это «вступление», появляется только экран spla sh. Как мне это сделать? Я верю, что это должно сделать мой манифест:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.pfinal">
<!-- Permissoes para o acesso a camera -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- Permissoes para o acesso ao GPS -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_fire_round"
android:label="AppFogos"
android:roundIcon="@mipmap/ic_fire_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Intro">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- The below is for the splash screen and we need no action bar and the default theme -->
<activity
android:name=".SplashScreen"
android:theme="@style/AppTheme.NoActionBar">
<!-- <intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>-->
</activity>
<activity android:name=".AppFogos" />
<activity android:name=".HomePage">
<!-- <intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>-->
</activity>
</application>
Вступление - это действие с прохождением, а SplashScreen - это действие с экраном spla sh. Прямо сейчас появляется только вступление.
Вот код для "Intro":
val fragment1 = SliderFragment()
val fragment2 = SliderFragment()
val fragment3 = SliderFragment()
lateinit var adapter : myPagerAdapter
lateinit var activity: Activity
lateinit var preference : SharedPreferences
val pref_show_intro = "Intro"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_intro)
activity = this
preference = getSharedPreferences("~PFinal", Context.MODE_PRIVATE)
if(!preference.getBoolean(pref_show_intro,true)){
startActivity(Intent(activity,SplashScreen::class.java))
finish()
}
fragment1.setTitle("welcome")
fragment2.setTitle("fogos")
fragment3.setTitle("o que utilizamos")
adapter = myPagerAdapter(supportFragmentManager)
adapter.list.add(fragment1)
adapter.list.add(fragment2)
adapter.list.add(fragment3)
view_pager.adapter = adapter
next.setOnClickListener {
view_pager.currentItem++
}
skip.setOnClickListener { goToHomePage() }
view_pager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener{
override fun onPageScrollStateChanged(state: Int) {
}
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
}
override fun onPageSelected(position: Int) {
if(position == adapter.list.size-1)
{
//lastpage
next.text="DONE"
next.setOnClickListener {
goToHomePage()
}
}else{
next.text="NEXT"
next.setOnClickListener {
view_pager.currentItem++
}
}
when(view_pager.currentItem)
{
0->{
indicator1.setTextColor(Color.BLACK)
indicator2.setTextColor(Color.GRAY)
indicator3.setTextColor(Color.GRAY)
}
1->{
indicator1.setTextColor(Color.GRAY)
indicator2.setTextColor(Color.BLACK)
indicator3.setTextColor(Color.GRAY)
}
2->{
indicator1.setTextColor(Color.GRAY)
indicator2.setTextColor(Color.GRAY)
indicator3.setTextColor(Color.BLACK)
}
}
}
})
}
fun goToHomePage(){
startActivity(Intent(activity,HomePage::class.java))
finish()
val editor = preference.edit()
editor.putBoolean(pref_show_intro,false)
editor.apply()
}
class myPagerAdapter(manager : FragmentManager): FragmentPagerAdapter(manager){
val list : MutableList<Fragment> = ArrayList()
override fun getItem(position: Int): Fragment {
return list[position]
}
override fun getCount(): Int {
return list.size
}
}