How to set transparency of a background image Android xml file

后端 未结 9 668
南笙
南笙 2020-12-08 02:24

I have put an image in as the background of my android application with the following line of code:

 android:background=\"@drawable/background\"
相关标签:
9条回答
  • 2020-12-08 02:51

    You can use alpha property (http://developer.android.com/reference/android/view/View.html#attr_android:alpha) for your View:

    android:alpha="0.4"
    
    0 讨论(0)
  • 2020-12-08 02:52

    set in your xml file

    android:alpha="0.4"
    

    which will be varies from 0 to 255.

    <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:alpha="0.6"
     android:orientation="vertical"
     android:padding="30dp"
     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=".SecondActivity" >
    
    <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingBottom="5dp"
    android:text="Welcome"
    android:textColor="#292421"
    android:textSize="17sp"
    android:textStyle="bold" />
    
    <TextView
    android:id="@+id/TextView01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:text="This Android application is used to track and record the movements of a person throughout the university of ulster, Magee Campus. The tracking phase of the application can only be initiated whilst within the campus and off campus tracking is unavailable at this moment in time."
    android:textColor="#292421"
    android:textSize="17sp" />
    
    <LinearLayout
     android:background="@drawable/background"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    
    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="85dp"
        android:layout_weight="1"
        android:background="#E6E6FA"
        android:onClick="tracking"
        android:text="@string/tracking_service" />
    
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:padding="20dp" >
    
    </LinearLayout>
    
    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="85dp"
        android:layout_weight="1"
        android:background="#E6E6FA"
        android:onClick="help"
        android:text="Help" />
    
    </LinearLayout>
    
    0 讨论(0)
  • 2020-12-08 02:52

    Try to use Drawable.setAlpha();

    View backgroundImage = findViewById(R.id.background_image);
    Drawable background = backgroundImage.getBackground();
    background.setAlpha(80);
    
    0 讨论(0)
  • 2020-12-08 02:53

    If you have set an image as background then

     android:alpha="0.x"
    

    will cause entire screen (child views) to fade. Instead you can make use of

    android:backgroundTint="#80FFFFFF"
    android:backgroundTintMode="src_over"
    

    to fade only the background image without affecting the child views.

    0 讨论(0)
  • 2020-12-08 02:58

    It can be done using custom drawable. Its a very old post but thought I should answer, might be helpful for someone.

    1. Create a drawable xml resource with bitmap as the root say bg.xml.
    2. set android:src="@drawable/background" to the image which you want as the background.
    3. set android:alpha="0.4" to any value between 0 to 1 as per the required opacity.
    4. now set the background of the root layout as newly created drawable xml resource i.e., bg.xml. This will only change the opacity of the background image of the layout without effecting opacity of the child elements of the layout.

    Resources :
    bg.xml

    <?xml version="1.0" encoding="utf-8"?>
    <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/background" android:alpha="0.4"/>
    

    This is how your layout will look now :

    <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:background="@drawable/bg"
    android:orientation="vertical"
    android:padding="30dp"
    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=".SecondActivity" >
    
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingBottom="5dp"
        android:text="Welcome"
        android:textColor="#292421"
        android:textSize="17sp"
        android:textStyle="bold" />
    
    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:text="This Android application is used to track and record the movements of a person throughout the university of ulster, Magee Campus. The tracking phase of the application can only be initiated whilst within the campus and off campus tracking is unavailable at this moment in time."
        android:textColor="#292421"
        android:textSize="17sp" />
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    
        <Button
            android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="85dp"
            android:layout_weight="1"
            android:background="#E6E6FA"
            android:onClick="tracking"
            android:text="@string/tracking_service" />
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:padding="20dp" >
    
        </LinearLayout>
    
        <Button
            android:id="@+id/button2"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="85dp"
            android:layout_weight="1"
            android:background="#E6E6FA"
            android:onClick="help"
            android:text="Help" />
    
    </LinearLayout>
    
    0 讨论(0)
  • 2020-12-08 02:58

    You can use alpha property android:alpha="0.5"; (Between 0 and 1 )

    0 讨论(0)
提交回复
热议问题