Java tutorial
package com.avolatile.randomdaily; import android.content.Context; import android.graphics.Color; import android.net.Uri; import android.os.Bundle; import android.support.annotation.ColorInt; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import com.github.paolorotolo.appintro.ISlideBackgroundColorHolder; /** * Copyright 2017 Siddhant Vinchurkar 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. */ /* This is a Fragment Class and is only required to inflate the fragment of the first slide in the * introduction activity. Apart from changing the slide transition color, it does not alter the * general behaviour of the app */ /** * A simple {@link Fragment} subclass. * Activities that contain this fragment must implement the * {@link IntroductionActivitySlideFragment1.OnFragmentInteractionListener} interface * to handle interaction events. * Use the {@link IntroductionActivitySlideFragment1#newInstance} factory method to * create an instance of this fragment. */ public class IntroductionActivitySlideFragment2 extends Fragment implements ISlideBackgroundColorHolder { // Change slide transition color @Override public int getDefaultBackgroundColor() { return Color.parseColor("#2D2D2D"); } @Override public void setBackgroundColor(@ColorInt int backgroundColor) { FrameLayout slide1frag = (FrameLayout) getActivity().findViewById(R.id.slide2frag); slide1frag.setBackgroundColor(backgroundColor); } // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER private static final String ARG_PARAM1 = "param1"; private static final String ARG_PARAM2 = "param2"; // TODO: Rename and change types of parameters private String mParam1; private String mParam2; private OnFragmentInteractionListener mListener; public IntroductionActivitySlideFragment2() { // Required empty public constructor } /** * Use this factory method to create a new instance of * this fragment using the provided parameters. * * @param param1 Parameter 1. * @param param2 Parameter 2. * @return A new instance of fragment Introduction_Slide1. */ // TODO: Rename and change types and number of parameters public static IntroductionActivitySlideFragment2 newInstance(String param1, String param2) { IntroductionActivitySlideFragment2 fragment = new IntroductionActivitySlideFragment2(); Bundle args = new Bundle(); args.putString(ARG_PARAM1, param1); args.putString(ARG_PARAM2, param2); fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { mParam1 = getArguments().getString(ARG_PARAM1); mParam2 = getArguments().getString(ARG_PARAM2); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.introduction_slide_fragment_2, container, false); } // TODO: Rename method, update argument and hook method into UI event public void onButtonPressed(Uri uri) { if (mListener != null) { mListener.onFragmentInteraction(uri); } } @Override public void onAttach(Context context) { super.onAttach(context); // if (context instanceof OnFragmentInteractionListener) { // mListener = (OnFragmentInteractionListener) context; // } else { // throw new RuntimeException(context.toString() // + " must implement OnFragmentInteractionListener"); // } } @Override public void onDetach() { super.onDetach(); mListener = null; } /** * This interface must be implemented by activities that contain this * fragment to allow an interaction in this fragment to be communicated * to the activity and potentially other fragments contained in that * activity. * <p> * See the Android Training lesson <a href= * "http://developer.android.com/training/basics/fragments/communicating.html" * >Communicating with Other Fragments</a> for more information. */ public interface OnFragmentInteractionListener { // TODO: Update argument type and name void onFragmentInteraction(Uri uri); } }