Ответ 1
Вы можете установить свойство alpha:
android:alpha="0.4"
через код:
yourView.setAlpha(0.5f);
только фон:
yourView.getBackground().setAlpha(120); // here the value is an integer not float
Я разместил изображение в качестве фона моего приложения для Android со следующей строкой кода:
android:background="@drawable/background"
Теперь я хочу сделать его прозрачным на 40%, но как это возможно в XML файле? Мой exm файл показан ниже:
<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/background"
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: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>
Вы можете установить свойство alpha:
android:alpha="0.4"
через код:
yourView.setAlpha(0.5f);
только фон:
yourView.getBackground().setAlpha(120); // here the value is an integer not float
Это можно сделать с помощью пользовательского выделения. Его очень старый пост, но я думал, что должен ответить, может быть полезно для кого-то.
Ресурсы:
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"/>
Вот как выглядит ваш макет сейчас:
<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>
Если вы установили изображение в качестве фона, то
android:alpha="0.x"
приведет к исчезновению всего экрана (детские представления). Вместо этого вы можете использовать
android:backgroundTint="#80FFFFFF"
android:backgroundTintMode="src_over"
чтобы исчезнуть только фоновое изображение, не затрагивая дочерние представления.
Вы можете создать ресурс списка слоев и установить его в качестве свойства фона вашего вида (макета)
background_image_with_alpha.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap
android:alpha="0.2"
android:src="@drawable/xxxxxx"
android:gravity="fill">
</bitmap>
</item>
</layer-list >
Вы можете использовать свойство alpha
(http://developer.android.com/reference/android/view/View.html#attr_android:alpha) для вашего View
:
android:alpha="0.4"
Попробуйте использовать Drawable.setAlpha();
View backgroundImage = findViewById(R.id.background_image);
Drawable background = backgroundImage.getBackground();
background.setAlpha(80);
в вашем XML файле
android:alpha="0.4"
который будет варьироваться от 0 до 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>
Вы можете использовать свойство alpha Android: альфа = "0.5"; (Между 0 и 1)
просто используйте эту строку в вашем .xml файле
android:background="#ddxxxxxx"
замените xxxxxx любым цветом, который вы хотите.
обратитесь к https://alvinalexander.com/android/how-background-image-behind-translucent-opaque-textview для более подробной информации.