Hi Friends,
I am again here with very small and important demo in
android. How to make your activity transparent and how to set opacity in
background. I am sharing code here step by
step-
1)
In your manifest make that activity theme to
Translucent-
<activity
android:name="com.androidhub4you.transparent.background.MainActivity"
android:theme="@android:style/Theme.Translucent"
android:label="@string/app_name" >
2) Now your page will be 100% transparent, so if you need some background color then set opacity like-
<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:background="#80000000"
tools:context=".MainActivity" >
Concentrate on this line- android:background="#80000000"
Here 80 stand for alpha color from 0-255
and 000000 for black color. So just add 2 first digit of
alpha with your color code. Below is the normal chart for opacity percentage-
100% — FF
90% — E6
80% — CC
70% — B3
60% — 99
50% — 80
40% — 66
30% — 4D
20% — 33
10% — 1A
0% — 00
And below is the whole code-
1) MainActivity.java
package
com.androidhub4you.transparent.background;
import
android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
2) Activity_main.xml
<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:background="#8C000000"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="www.androidhub4you.com\n(From: Manish
Srivastava)"
android:textColor="#FFFFFF"
android:textSize="25sp" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView1"
android:layout_alignLeft="@+id/textView1"
android:src="@drawable/logo" />
</RelativeLayout>
3)
AndroidManifest.xml
<?xml version="1.0"
encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidhub4you.transparent.background"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.androidhub4you.transparent.background.MainActivity"
android:theme="@android:style/Theme.Translucent"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>
Your comments and feedback are awaited!
Thank You!
I was helpful in making my project initial steps.
ReplyDeleteThanks
Your welcome..
Deleteplzzz where to make this tell me
ReplyDeletewhere means?
Deletei mean, the line under the screenshot, activity....where that activity to b performed
Deletegood tutorial
ReplyDeletein what lines can find or put dis codes?
ReplyDeleteGood demo.
ReplyDeleteCan you send me the code for displaying a translucent image at a particular position on screen on to the other image in the background??
I want to see both the images, one in full screen in the background and other as translucent image at the particular position on the screen. hope u got my point.
Thanks in advance.
I don't have any code but you can set that layout parent as transparent using color code- #00000000.
DeleteHello,
ReplyDeletegood quick demo thanks.
I'm pretty sure I've got everything in the right place but i get this error:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.homewin7.myapp3/com.example.homewin7.myapp3.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
All i have done is set the Manifest to have the android:theme="@android:style/Theme.Translucent" and the activity_main with the "#80000000".
This was a new project .. blank activity. set to 4.1 compatibility. no other changes. If i remove the Translucent all works fine.
I think you are using android studio v7 support library -
Deletecompile 'com.android.support:appcompat-v7:23.0.1'
right?
so now replace this from your build.gradle with v4 support library.
Thanks for the quick response, sorry bit past my level of expertise yet, long time programmer but 3 days in to Android....
DeleteIn the MainActivity.java i have import [android.support.v7.app.AppCompatActivity;]
Is this what needs to be changed.
in the build.gradle there is
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.0'
How do I find what the v4 name is please
Sorry for the noob questions, any thanks in advance ;-)
Step 1- Open your build.gradle file and replace below line-
Deletecompile 'com.android.support:appcompat-v7:23.1.0'
with this line-
compile 'com.android.support:support-v4:21.0.3'
Step 2- From the res/values folder open the styles.xml file and change below line-
style name="AppTheme" parent="Theme.AppCompat.Light">
with-
style name="AppTheme" parent="Theme.Black">
Step 3- Open your Manifest.xml file and with your activity use below theme-
android:theme="@android:style/Theme.Translucent"
That's all!
Thanks Manish.
ReplyDeleteit is working now.
Cheers Willy
Cheers :)
Delete