Android:透明活动不起作用

时间:2012-05-07 12:34:32

标签: android android-activity

我遵循以下链接的建议 How do I create a transparent Activity on Android? 在HTC Desire中,活动是透明的,但在Moto MileStone(Android)中,它不起作用。背景是黑色的。 我更改了res / values / styles.xml,如下所示,但Moto MileStone中的背景仍为黑色

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="@android:style/Theme.Translucent.NoTitleBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>

3 个答案:

答案 0 :(得分:1)

这是我的解决方案:

我的XML文件中的第一个活动。单击该按钮后,您将被重定向到第二个具有按钮的活动。我给出了完整的源代码:

活动1:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button nextBtn = (Button)findViewById(R.id.button1);
    nextBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            startActivity(new Intent("com.ranjan.dibya.shadow.Next"));
        }
    });
}
}

活动2:

public class Next extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.next);
}
}

活动1的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:background="#f09473"
tools:context=".MainActivity" >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="16dp"
    android:text="Button" />

 </RelativeLayout>

活动2的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"
tools:context=".MainActivity" >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="This is clickable" />

</RelativeLayout>

我的清单

 <activity
        android:name=".Next"
        android:label="@string/app_name"
        android:theme="@style/Theme.MyTranslucent" >

风格:

<style name="Theme.MyTranslucent" parent="android:style/Theme.Translucent">
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:backgroundDimAmount">0.5</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:background">@android:color/transparent</item>
</style>

这对我有用。我希望同样适合你。

修改:您所遵循的链接将导致透明活动,中心的按钮由我自己设计:)

答案 1 :(得分:0)

我没试过,但我认为获得透明背景的最佳方法是添加颜色。

将十六进制的透明色放入

http://www.w3schools.com/html/html_colornames.asp ...你可以在这里查看。

如果您接受答案,请单击右侧。

任何问题请发帖。

答案 2 :(得分:0)

您始终可以尝试在活动的OnCreate方法中以编程方式设置视图的RGBA值。这可能有用。