In this tutorial we show how to create a simple application with a splash screen, in which are displayed the Blogger logo and a toast containing the url of this blog for a certain time interval.
The main files are:
- MainActivity.java, where is defined the splash screen:
public class MainActivity extends ActionBarActivity {
// Splash screen timer
private static int TIME_OUT = 8000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//layout of the toast
LayoutInflater myInflator = getLayoutInflater();
View toastLayout = myInflator.inflate(R.layout.custom_toast,(ViewGroup)findViewById(R.id.toast) );
int duration = Toast.LENGTH_LONG;
//toast
Toast toast = new Toast(getApplicationContext()); toast.setDuration(duration);
toast.setView(toastLayout);
toast.setGravity(Gravity.BOTTOM, 0, 80);
//delay for the toast
try {
Thread.sleep(1000);
}
catch(InterruptedException ex) {
Thread.currentThread().interrupt();
} toast.show();
//shows company logo
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//passage to the second activity after the time interval
Intent i = new Intent(MainActivity.this, SecondActivity.class);
startActivity(i);
finish(); }
}, TIME_OUT);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
startActivity(i);
finish(); }
}, TIME_OUT);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
- activity_main.xml, where is defined its layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@android:color/white" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:src="@drawable/logo" />
</RelativeLayout>
- custom_toast.xml, where is defined the toast:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/ android"
android:id="@+id/toast"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:orientation="vertical" >
<TextView
android:id="@+id/textUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/site"
android:textColor="@android:color/darker_gray"
android:textSize="25sp"
android:textStyle="bold" />
</LinearLayout>
The final result is the following:
You can download the complete example from our repository: Download SplashScreen.zip
No comments:
Post a Comment