基本上,我有一个有两个活动的应用程序。
#1 - MainActivity
它有一个坚实的黑色背景和一个按钮
按下按钮时,应显示TransparentActivity。
#2 - TransparentActivity
我希望这是透明的(因此可以看到手机普通用户界面)。
我尝试使用以下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(android.R.style.Theme_Translucent);
setContentView(R.layout.activity_trick);
}
但它导致应用程序崩溃并出现NullPointerException。
答案 0 :(得分:2)
试一试:
super.onCreate(savedInstanceState);
之后拨打setTheme(android.R.style.Theme_Translucent);
电话。所以做:
setTheme(android.R.style.Theme_Translucent);
super.onCreate(savedInstanceState);
尝试2:
如果这不起作用,我发现以下方式最容易让我的活动变得透明:
<activity android:name=".your.activity.declaration.here"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
基本上将android:theme="@android:style/Theme.Translucent.NoTitleBar"
添加到清单中的活动声明中。我可以看到你正在尝试以编程方式执行类似的操作,但是通过在manifest中指定它永远不会为我崩溃。如果确实如此,则可能还有其他原因。
希望它有所帮助。
答案 1 :(得分:0)
正如Shobhit所说,将此添加到清单文件和布局透明活动中的活动中删除父布局的背景选项...希望这有帮助..我在我的应用程序中尝试过,第二个活动变得透明。< / p>
<activity android:name="your package name.activity name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
答案 2 :(得分:0)
AppCompatActivity 没有Theme_Translucent(maybe the Theme_Translucent is null)
,您应该创建自己的风格。