Java tutorial
/* * Copyright 2015 Hauke Oldsen * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package de.gebatzens.sia; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatDelegate; import android.util.Log; import android.view.View; import android.widget.ImageView; import de.gebatzens.sia.fragment.FirstUseAdapter; import de.gebatzens.sia.fragment.FirstUseFragment; public class FirstUseActivity extends FragmentActivity { public FirstUseAdapter adapter; private ImageView iv_left; private ImageView iv_right; @Override protected void onCreate(Bundle bundle) { AppCompatDelegate.setDefaultNightMode(SIAApp.SIA_APP.getThemeMode()); setTheme(R.style.FirstUseTheme); adapter = new FirstUseAdapter(getSupportFragmentManager(), FirstUseActivity.this); super.onCreate(bundle); if (SIAApp.SIA_APP.getCustomThemeName() != null) { if (SIAApp.SIA_APP.getCustomThemeName().equals("Summer") || SIAApp.SIA_APP.getCustomThemeName().equals("Winter")) { String themeName = SIAApp.SIA_APP.getSeasonTheme(); if (!SIAApp.SIA_APP.getCustomThemeName().equals(themeName)) { if (themeName.equals("Winter")) { SIAApp.SIA_APP.setCustomThemeName("Winter"); SIAApp.SIA_APP.school.loadTheme(); } else { SIAApp.SIA_APP.setCustomThemeName("Summer"); SIAApp.SIA_APP.school.loadTheme(); } } } } if (SIAApp.SIA_APP.preferences.getBoolean("first_use", false)) { startActivity(new Intent(this, SetupActivity.class)); finish(); return; } setContentView(R.layout.activity_firstuse); final ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager); viewPager.setAdapter(adapter); viewPager.setOffscreenPageLimit(3); final TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs); tabLayout.setupWithViewPager(viewPager); tabLayout.getTabAt(0).getCustomView().setSelected(true); iv_left = (ImageView) findViewById(R.id.fu_button_left); iv_right = (ImageView) findViewById(R.id.fu_button_right); iv_left.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SIAApp.SIA_APP.preferences.edit().putBoolean("first_use", true).apply(); startActivity(new Intent(v.getContext(), SetupActivity.class)); finish(); } }); iv_right.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { viewPager.setCurrentItem(1); } }); viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int i, float v, int i1) { FirstUseAdapter adapter = (FirstUseAdapter) viewPager.getAdapter(); if (i >= 5) return; FirstUseFragment frag1 = adapter.fragments.get(i); FirstUseFragment frag2 = adapter.fragments.get(i + 1); int red = (int) (Color.red(frag1.color) * (1f - v) + Color.red(frag2.color) * v); int green = (int) (Color.green(frag1.color) * (1f - v) + Color.green(frag2.color) * v); int blue = (int) (Color.blue(frag1.color) * (1f - v) + Color.blue(frag2.color) * v); int newColor = Color.argb(255, red, green, blue); if (frag1.getView() != null) frag1.getView().setBackgroundColor(newColor); if (frag2.getView() != null) frag2.getView().setBackgroundColor(newColor); } @Override public void onPageSelected(int i) { if (i > 0) iv_left.setVisibility(View.INVISIBLE); else iv_left.setVisibility(View.VISIBLE); final int i2 = i; if (i == 5) { iv_right.setImageResource(R.drawable.ic_done); iv_right.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SIAApp.SIA_APP.preferences.edit().putBoolean("first_use", true).apply(); startActivity(new Intent(v.getContext(), SetupActivity.class)); finish(); } }); } else { iv_right.setImageResource(R.drawable.ic_arrow_forward); iv_right.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { viewPager.setCurrentItem(i2 + 1); } }); } } @Override public void onPageScrollStateChanged(int i) { } }); } }