Headertab

Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Friday 30 September 2016

Transparent dialogbox in android





private void showDialogBox() {


    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = LayoutInflater.from(getActivity());


    View view = inflater.inflate(R.layout.dialog_logout, null);
    dialogBuilder.setCancelable(false);


    TextViewMedium logout = (TextViewMedium) view.findViewById(R.id.tvm_logout);


    logout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(getActivity(), SplashActivity.class));
            dialog.dismiss();
        }
    });
    dialogBuilder.setView(view);

    dialog = dialogBuilder.create();

//Make transparent your dialogbox background
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));


// Yoc can open dialogbox where you decide top,bottom,left,right.... 
    Window dialogWindow = dialog.getWindow();
    WindowManager.LayoutParams lp = dialogWindow.getAttributes();
    dialogWindow.setGravity(Gravity.CENTER | Gravity.CENTER);

    dialog.show();


}

Wednesday 14 September 2016

Fragment back handle in android

Hello friends

Today we are learn about fragment  methods most of developer can't handle proper fragment navigation so i found best solution and proper navigation of fragment.If you learn this post i am sure you feel relax with fragment navigation. So lets start.....

First you create a new android project.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.samset.user.fragmentbackprocesssample.MainActivity">

    <LinearLayout
        android:id="@+id/tv"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@color/primary_dark"
        android:gravity="center">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Fragment Navigation"
            android:textColor="#fff" />
    </LinearLayout>

    <FrameLayout
        android:id="@+id/mainContainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/tv"></FrameLayout>
</RelativeLayout>


MainActvity.java

package com.samset.user.fragmentbackprocesssample;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import com.samset.user.fragmentbackprocesssample.fragments.HomeFragment;
import com.samset.user.fragmentbackprocesssample.fragments.LoginFragment;

public class MainActivity extends AppCompatActivity {
    String TAG = MainActivity.class.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        fragTransaction(new LoginFragment());
    }

    @Override
    protected void onResume() {
        super.onResume();

    }

    public void fragTransaction(Fragment frag) {
        if (frag.isAdded()) {
            Log.e(TAG, " fragment add");
            FragmentManager manager = getSupportFragmentManager();
            FragmentTransaction transaction = manager.beginTransaction();
            transaction.add(R.id.mainContainer, frag).addToBackStack(null).commit();
        } else {
            Log.e(TAG, " fragment replace");
            FragmentManager manager = getSupportFragmentManager();
            FragmentTransaction transaction = manager.beginTransaction();
            transaction.replace(R.id.mainContainer, frag).addToBackStack(null).commit();
        }
    }


    @Override
    public void onBackPressed() {

        // here you simply back handle you check stack count and then enable backpress button
        if (getSupportFragmentManager().getBackStackEntryCount() > 1) {
            getSupportFragmentManager().popBackStack();
            Log.e(TAG, " fragment popback ");
        } else {
            super.onBackPressed();
        }
    }
}


HomeFragment.java


package com.samset.user.fragmentbackprocesssample.fragments;


import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.widget.AppCompatButton;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.samset.user.fragmentbackprocesssample.R;

/**
 * A simple {@link Fragment} subclass.
 */
public class HomeFragment extends Fragment {

    private AppCompatButton btnProfile,btnDetails;
    public HomeFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View  view =inflater.inflate(R.layout.fragment_home, container, false);

        btnProfile= (AppCompatButton) view.findViewById(R.id.btnprofile);
        btnDetails= (AppCompatButton) view.findViewById(R.id.btndetails);


        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        btnProfile.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FragmentManager manager=getFragmentManager();
                FragmentTransaction transaction=manager.beginTransaction();    //If you add tag name the you can navigate anywhere from any frgament
                transaction.replace(R.id.mainContainer,new ProfileFragment()).addToBackStack("home").commit();
            }
        });
        btnDetails.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FragmentManager manager=getFragmentManager();
                FragmentTransaction transaction=manager.beginTransaction();    //If you add tag name the you can navigate anywhere from any frgament
                transaction.replace(R.id.mainContainer,new DetailsFragment()).addToBackStack("home").commit();
            }
        });
    }
}


Thank you

FullSourceCodeFragmentPopBackStack

Live Sample









Tuesday 13 September 2016

AppIntro in android

Hi friends

If you want add app intro in your app then you use this sample and make your app more beautiful.

Create a new android project and follow some instructions ....

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

ActvityMain.java

package com.samset.user.appintro;

import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import com.samset.user.appintro.adapters.MyPagerAdapter;
import com.samset.user.appintro.transformations.IntroPageTransformer;
import com.samset.user.appintro.transformations.ZoomOutPageTransformer;

public class MainActivity extends AppCompatActivity {
    private ViewPager pager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pager = (ViewPager) findViewById(R.id.viewpager);
        // Set an Adapter on the ViewPager
        pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
        pager.setPageTransformer(false, new IntroPageTransformer());
    }


}


Pageradapter.java


package com.samset.user.appintro.adapters;

import android.graphics.Color;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import com.samset.user.appintro.fragments.FirstFragment;

/**
 * Created by user on 13-Sep-16.
 */
public class MyPagerAdapter extends FragmentPagerAdapter {

    public MyPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                return FirstFragment.newInstance(Color.parseColor("#03A9F4"), position); // blue
            case 1:
                return FirstFragment.newInstance(Color.parseColor("#9C27B0"), position); // purpal
            case 2:
                return FirstFragment.newInstance(Color.parseColor("#E91E63"), position); // pink
            case 3:
                return FirstFragment.newInstance(Color.parseColor("#F44336"), position); // red
            default:
                return FirstFragment.newInstance(Color.parseColor("#4CAF50"), position); // green
        }
    }

    @Override
    public int getCount() {
        return 4;
    }

}

Thank you
 Fullsource codeAppIntro

Live Sample






ViewPager transformation in android

Hi friends
Today we are learn about how to animate view pager pages so lets start and make your app more beautiful.

Create a new android project and follow some instructions ....

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

ActvityMain.java

package com.samset.user.appintro;

import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import com.samset.user.appintro.adapters.MyPagerAdapter;
import com.samset.user.appintro.transformations.IntroPageTransformer;
import com.samset.user.appintro.transformations.ZoomOutPageTransformer;

public class MainActivity extends AppCompatActivity {
    private ViewPager pager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pager = (ViewPager) findViewById(R.id.viewpager);
        // Set an Adapter on the ViewPager
        pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));

        // Set a PageTransformer
        // pager.setPageTransformer(false, new IntroPageTransformer());
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);//Menu Resource, Menu
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.trans_1:
                pager.setPageTransformer(false, new ViewPager.PageTransformer() {
                    @Override
                    public void transformPage(View page, float position) {
                        final float normalizedposition = Math.abs(Math.abs(position) - 1);
                        page.setAlpha(normalizedposition);
                    }
                });
                return true;
            case R.id.trans_2:
                pager.setPageTransformer(false, new ViewPager.PageTransformer() {
                    @Override
                    public void transformPage(View page, float position) {
                        final float normalizedposition = Math.abs(Math.abs(position) - 1);
                        page.setScaleX(normalizedposition / 2 + 0.5f);
                        page.setScaleY(normalizedposition / 2 + 0.5f);
                    }
                });
                return true;
            case R.id.trans_3:
                pager.setPageTransformer(false, new ViewPager.PageTransformer() {
                    @Override
                    public void transformPage(View page, float position) {
                        final float normalizedposition = Math.abs(Math.abs(position) - 1);
                        page.setScaleX(normalizedposition / 2 + 0.5f);
                        page.setScaleY(normalizedposition / 2 + 0.5f);
                    }
                });
                return true;
            case R.id.trans_4:
                pager.setPageTransformer(false, new ViewPager.PageTransformer() {
                    @Override
                    public void transformPage(View page, float position) {
                        page.setRotationY(position * -30);
                    }
                });
                return true;
            case R.id.trans_5:
                pager.setPageTransformer(false, new ViewPager.PageTransformer() {
                    @Override
                    public void transformPage(View view, float position) {
                        view.setTranslationX(view.getWidth() * -position);
                        if (position <= -1.0F || position >= 1.0F) {
                            view.setAlpha(0.0F);
                        } else if (position == 0.0F) {
                            view.setAlpha(1.0F);
                        } else {
                            // position is between -1.0F & 0.0F OR 0.0F & 1.0F
                            view.setAlpha(1.0F - Math.abs(position));
                        }

                    }
                });
                return true;
            case R.id.trans_6:
                pager.setPageTransformer(false, new ViewPager.PageTransformer() {
                    @Override
                    public void transformPage(View view, float position) {
                        view.setTranslationX(view.getWidth() * -position);

                        if (position <= -1.0F || position >= 1.0F) {        // [-Infinity,-1) OR (1,+Infinity]
                            view.setAlpha(0.0F);
                            view.setVisibility(View.GONE);
                        } else if( position == 0.0F ) {     // [0]
                            view.setAlpha(1.0F);
                            view.setVisibility(View.VISIBLE);
                        } else {

                            // Position is between [-1,1]
                            view.setAlpha(1.0F - Math.abs(position));
                            view.setTranslationX(-position * (view.getWidth() / 2));
                            view.setVisibility(View.VISIBLE);
                        }

                    }
                });
                return true;
            case R.id.trans_7:
                pager.setPageTransformer(false, new ZoomOutPageTransformer());
                return true;
            case R.id.trans_8:
                pager.setPageTransformer(false, new IntroPageTransformer());
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
}


Pageradapter.java


package com.samset.user.appintro.adapters;

import android.graphics.Color;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import com.samset.user.appintro.fragments.FirstFragment;

/**
 * Created by user on 13-Sep-16.
 */
public class MyPagerAdapter extends FragmentPagerAdapter {

    public MyPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                return FirstFragment.newInstance(Color.parseColor("#03A9F4"), position); // blue
            case 1:
                return FirstFragment.newInstance(Color.parseColor("#9C27B0"), position); // purpal
            case 2:
                return FirstFragment.newInstance(Color.parseColor("#E91E63"), position); // pink
            case 3:
                return FirstFragment.newInstance(Color.parseColor("#F44336"), position); // red
            default:
                return FirstFragment.newInstance(Color.parseColor("#4CAF50"), position); // green
        }
    }

    @Override
    public int getCount() {
        return 4;
    }

}

Thank you
 Fullsource codeViewPager_Transformation

Live Sample






Tuesday 6 September 2016

Dynamically change layout background color in android

Hi friends

If you want change your component background smoothly then follow below code

actvity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:id="@+id/lin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.samset.user.customtoastsample.Test2">

<LinearLayout
    android:id="@+id/lay1"
    android:layout_width="200dp"
    android:layout_height="150dp">

    <TextView
        android:layout_marginTop="10dp"
        android:id="@+id/pause"
        android:text="Pause"
        android:layout_width="match_parent"
        android:layout_height="50dp" />

</LinearLayout>
   
</LinearLayout>


MainActivity.java

import android.animation.ArgbEvaluator;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.TransitionDrawable;
import android.media.MediaPlayer;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Parcelable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.samset.user.customtoastsample.adapters.TopWinnerstest;

import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;

public class Test2 extends AppCompatActivity {
   
    LinearLayout lay1;
   

    int i;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test2);
        lay1 = (LinearLayout) findViewById(R.id.lay1);
       


        ArgbEvaluator evaluator = new ArgbEvaluator();
        ValueAnimator animator = new ValueAnimator();
        animator.setIntValues(Color.parseColor("#78CC2E"),Color.parseColor("#901B8E"),      Color.parseColor("#e50000"),Color.parseColor("#FFC807"));
        animator.setEvaluator(evaluator);
        animator.setDuration(6000);
        animator.setRepeatCount(ValueAnimator.INFINITE);
        animator.setRepeatMode(ValueAnimator.INFINITE);
        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                int  color1 = (int) animation.getAnimatedValue();
                //postInvalidate(); if you are animating a canvas
                lay1.setBackgroundColor(color1); //another exampleof where to use

            }
        });
        animator.start();

    }
}

Thanks

Live Sample





Pragmatically create gradient in android

Hello friends


actvity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.samset.user.dynamicallychangegradiant.MainActivity">


    <LinearLayout
        android:id="@+id/mainlayout"
        android:layout_width="match_parent"
        android:layout_height="200dp">

        <TextView
            android:layout_gravity="center"
            android:gravity="center"
            android:textColor="#fff"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="samset.blogspot.com!" />

    </LinearLayout>
</RelativeLayout>


MainActivity.java

package com.samset.user.dynamicallychangegradiant;

import android.graphics.Color;
import android.graphics.drawable.GradientDrawable;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {
   private LinearLayout linearLayout;
    private int i;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        linearLayout= (LinearLayout) findViewById(R.id.mainlayout);

        final GradientDrawable[] colors = new GradientDrawable[]{getgradiantInit(), getgradiantFirst(), getgradiantSecond(), getgradiantThird()};

        new CountDownTimer(2000, 1000) {

            @Override
            public void onTick(long millisUntilFinished) {
            }

            @Override
            public void onFinish() {
                linearLayout.setBackground((colors[i]));
                i++;
                if (i == colors.length - 1) i = 0;
                start();
            }
        }.start();
    }


    public GradientDrawable getgradiantInit() {
        int[] colors = {Color.parseColor("#008000"), Color.parseColor("#ADFF2F")};
        GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colors);
        gd.setCornerRadius(20f);
        return gd;
    }

    private GradientDrawable getgradiantFirst() {
        int[] colors1 = {Color.parseColor("#78CC2E"), Color.parseColor("#901B8E")};
        GradientDrawable gd1 = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colors1);
        gd1.setCornerRadius(20f);

        return gd1;
    }

    private GradientDrawable getgradiantSecond() {
        int[] colors1 = {Color.parseColor("#e50000"), Color.parseColor("#FFC807")};
        GradientDrawable gd1 = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colors1);
        gd1.setCornerRadius(20f);

        return gd1;
    }

    private GradientDrawable getgradiantThird() {
        int[] colors1 = {Color.parseColor("#3eb0f7"), Color.parseColor("#FFFFFF")};
        GradientDrawable gd1 = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colors1);
        gd1.setCornerRadius(10f);

        return gd1;
    }
}


Thanks

Live Sample