Android线性布局背景透明度

时间:2017-08-16 08:52:38

标签: java android android-layout android-activity android-photoview

我想更改Android LinearLayout背景透明度。在这里,我尝试在activity_view_full_screen_image.xml中更改android:alpha =“0.4”值。但是改变了PhotoView透明度等布局内容,而不是布局透明度。

这是我的代码:

ViewFullScreenImage.java

import android.graphics.Color;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.LinearLayout;

import com.github.chrisbanes.photoview.PhotoView;
import com.squareup.picasso.Picasso;

import java.io.InputStream;

public class ViewFullScreenImage extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view_full_screen_image);
        loadImage();
    }

    public void loadImage(){

        Uri imageUrl = Uri.parse("http://www.ucdmc.ucdavis.edu/hr/images/body/Health-Welness-Businesses.jpg");

        PhotoView photoView = (PhotoView) findViewById(R.id.photo_view);
        Picasso.with(this).load(imageUrl).into(photoView);
    }
}

activity_full_screen_image.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:id="@+id/activity_view_full_screen_image"
    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"
    android:alpha="0.4"
    tools:context="com.example.theace.fullscreen.ViewFullScreenImage">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/my_layout"
        android:orientation="vertical"
        >

        <com.github.chrisbanes.photoview.PhotoView
            android:id="@+id/photo_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>


    </LinearLayout>



</LinearLayout>

3 个答案:

答案 0 :(得分:2)

  

机器人:阿尔法= “0.4”

不要像现在使用android:alpha那样设置整个视图的alpha,而是将其背景设置为半透明颜色:

android:background="#AARRGGBB"

其中AA代表颜色的alpha(FF完全不透明,00完全透明):

android:background="#80FF0000"

会给出50%的透明红色。

文档:https://developer.android.com/guide/topics/resources/more-resources.html#Color

答案 1 :(得分:0)

将背景颜色设置为类似

的颜色
android:background="#88FFFFFF"

颜色为AARRGGBB格式。前2位数字可用于控制背景的alpha值。

答案 2 :(得分:0)

它取决于父布局中的android:background命名空间。 而不是在布局中设置android:alpha="0.4", 设置背景颜色!

例如,android:background="#40ffffff"

前两位是alpha值。