使FrameLayout透明化

时间:2014-10-17 15:48:53

标签: android

我希望我的活动看起来像一个大型的对话框,透明的东西在所有四边都是四分之一,中间部分是可靠的,我可以放置视图。 我认为使用Frame Layout可以将框架布局放在另一个框架内,但是我无法使第一个框架布局透明。

我的XML文件: -

<?xml version="1.0" encoding="utf-8"?>


<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000" >

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="50dp"
        android:layout_marginLeft="75dp"
        android:layout_marginRight="75dp"
        android:layout_marginTop="50dp" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:text="Search" />

            <EditText
                android:id="@+id/editText1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_above="@+id/button1"
                android:layout_alignParentLeft="true"
                android:layout_marginBottom="30dp"
                android:gravity="center"
                android:hint="Enter Movie Name!" />

            <ProgressBar
                android:id="@+id/progressBar1"
                style="?android:attr/progressBarStyleLarge"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/editText1"
                android:layout_centerHorizontal="true" />

        </RelativeLayout>

    </FrameLayout>


</FrameLayout>

它不起作用。任何想法?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我用以下方法解决了这个问题:

getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

我不知道为什么它只能以编程方式运作。

找到这个here(最后)。

答案 1 :(得分:-1)

你必须像这样设置该活动的主题:

Manifest.xml

    <activity
        android:name=".activity.ImagePreviewActivity"
        android:theme="@style/Theme.Transparent"/>
res/values/styles.xml

中的

<style name="Theme.Transparent" parent="Theme.MCChilli.NoTitle">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
</style>

此外,我认为这个答案只是谷歌的一些点击,但无论如何......