Android:将背景作为图像?

时间:2014-08-14 16:46:46

标签: android image android-layout android-xml

对于我的Android应用程序,我希望将background作为image,但我使用的所有图片都非常强烈,并且会从app上的Textviews等处获取

有没有办法fade背景图片,这样才能提供审美背景而不会脱离应用程序main components

当前的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: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=".MainActivity" 
    android:background="@drawable/loginbackgroundfour">

    <LinearLayout 
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@drawable/linearlayout_bg"
        android:padding="10dp"
        >

        <Button 
            android:id="@+id/btnSignUp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:layout_margin="4dp"
            android:text="Sign Up"
            android:background="@drawable/button_default_bg"
            style="@style/DefaultButtonText"
           />
        <Button 
            android:id="@+id/btnSingIn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:layout_margin="4dp"
            android:text="Sign In"
            style="@style/DefaultButtonText"
            android:background="@drawable/button_default_bg"
           />

        <Button 
            android:id="@+id/btnGameRegister"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:layout_margin="4dp"
            android:text="Register Game"
            style="@style/DefaultButtonText"
            android:background="@drawable/button_default_bg"
           />


        </LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

您也可以在布局中设置alpha:

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/main"
                android:alpha="0.5" />

在您的情况下,您可以将布局更改为:

<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: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=".MainActivity" >
        <FrameLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
                <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="fitXY"
                    android:src="@drawable/loginbackgroundfour"
                    android:contentDescription="@string/text" 
                    android:alpha="0.5"/>
             </FrameLayout>
<LinearLayout 
    android:orientation="vertical"
<!-- rest of your layout !-->

答案 1 :(得分:1)

您可以使用setAlpha()

请参阅docs

在Java类中尝试这个

View backgroundimage = findViewById(R.id.background);
Drawable background = backgroundimage.getBackground();
background.setAlpha(80);

Alpha值0-255,0表示完全透明,255表示完全不透明