0

我遵循以下链接中的建议 如何在 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>
4

3 回答 3

1

您始终可以尝试在活动的 OnCreate 方法中以编程方式设置视图的 RGBA 值。那可能行得通。

于 2012-05-09T08:46:39.870 回答
1

这是我的解决方案:

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

活动一:

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"));
        }
    });
}
}

活动二:

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>

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

编辑:您遵循的链接将导致透明的活动,中心的按钮是我自己想出来的:)

于 2013-03-10T08:25:01.093 回答
0

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

将透明颜色放入十六进制

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

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

有什么问题请发帖。

于 2012-05-09T08:41:20.387 回答