Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Friday, August 5, 2011

Small Tutorial on Creating a transparent activity


Sometimes, we need an activity to some processing but we need not necessarily have a UI.
For this, you can do just not do a setContentView() call. This will show up an activity with the default theme applied.

But, what if you need a transparent activity? It should be showing what is behind it and still do some stuff.

For that, follow this tutorial:
1. Create an Android project in eclipse.
2. Let us create an Activity called TransparentActivity.
3. Then, we need to create a transparent theme.



<resources>
  <style name="Theme.Transparent" parent="android:Theme">
   <item name="android:windowIsTranslucent">true</item>
   <item name="android:windowBackground">@android:color/transparent</item>
   <item name="android:windowContentOverlay">@null</item>
   <item name="android:windowNoTitle">true</item>
   <item name="android:windowIsFloating">true</item>
   <item name="android:backgroundDimEnabled">false</item>
  </style>
</resources>


4. Add the above code to styles.xml under res/values folder.
5. Then, in your AndroidManifest.xml apply the theme "Theme.Transparent" to this activity like:


6. That's it you are done. This activity will be transparent and not display anything.
7. Additionally, you can call requestWindowFeature(Window.FEATURE_NO_TITLE) to remove the title bar.

Sometimes, you may need to display a dialog on this activity. Say, you are processing something and want to show the user the progress. For this, you can create a ProgressDialog and show it.
But, in case of a transparent activity, it displays an outer box for the dialog.

To get rid of this:
In your onCreateDialog or the place where you are initializing the dialog do the following:


@Override
protected Dialog onCreateDialog(int id) {

switch(id) {
case 100:
dialog = new ProgressDialog(this, ProgressDialog.STYLE_SPINNER);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setMessage("Message");
//The below line does the trick!!
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
return dialog;
}
return super.onCreateDialog(id);
}


That's it for this tutorial. Check this out :)

Saturday, February 28, 2009

Android Debug Bridge

The Android Debug Bridge is the Android debug interface for assisting in developing applications. It has many useful functions like installing applications, opening shell etc. Let us have a brief look at the various functions supported by ADB.


1. adb install - Installs applications onto the Android system.

2. adb uninstall -k - Uninstalls the specified package from Android system. The -k option means to preserve the data and cache directories.

3. adb push - Pushes files from the local computer path onto Android remote path.

4. adb pull - Pulls files from the remote Android path to local computer path.

5. adb shell - Opens the shell on the currently running emulator.