创建一个新的透明活动

时间:2012-09-04 21:03:25

标签: android android-layout

我正在尝试播放视频或在手机上显示图片,同时仍能够控制手机。 到目前为止,我唯一设法做的就是开始一个新的透明活动。 这使我能够展示我想要的任何东西。但我无法控制图片/视频背后的手机。 这是我的代码:

 <activity
        android:name=".VideoPopActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.Transparent" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

并在styles.xml中:

       <style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
 <item name="android:windowFrame">@null</item>

除了这个“诡计”之外,还有新的建议......

2 个答案:

答案 0 :(得分:0)

不,您无法控制不活跃的Activity,特别是活动的RelativeLayout

您要做的是创建一个match_parent,其中包含您的透明图片以及主要布局。这将它们叠加在一起。确保宽度和高度均为<RelativeLayout ... > <LinearLayout ... > <!-- This is your main layout --> </LinearLayout> <ImageView android:visibility="gone" ... /> <!-- Your picture, invisible by default --> </RelativeLayout>

ImageView

或者,不要使用{{1}},而是制作另一种布局,您可以在其中放置视频/图像内容。

答案 1 :(得分:0)

这是让活动变得透明的方式,但是为了获得更令人愉悦的视野,你应该让你的活动不是透明的,而不是透明的,因为它会给像镜子一样的水或像水一样......

你可以用, 您应该在drawable文件夹中创建opaqueStyle.xml并将主布局的背景设置为opaqueStyle.xml ..

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
     <stroke android:width="1dp" android:color="#FFFFFFFF" />

<solid android:color="#30646464" />
    <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" 
     android:topLeftRadius="7dp" android:topRightRadius="7dp"/> 
</shape> 

此处<solid android:color="#30646464" />此行"#30646464",30代表不透明度,您可以增加或减少其不透明度,否则六位数就是颜色,您可以自己调整它。