android - Android设置主要活动的可见性
问题描述
是否可以将 android 中 MainActivity 页面的可见性设置为不可见或使其透明?我尝试将可见性设置为不可见,并将高度宽度设置为 0dp,但这仍然显示带有白色背景和蓝色标题的 mainactivity。我想要实现的是,我正在打开一个浮动窗口,单击 mainactivity 中的按钮即可拖动该窗口,但我想通过触发代码本身的按钮单击来直接打开浮动窗口。这可行,但在打开浮动窗口之前,mainactivity 仍会显示一秒钟。我想让 mainactivity 页面不可见或透明,因此 mainactivity 页面不明显。这是 mainactivity.xml 的 XML,
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="Invisible"
android:background="@color/material_on_primary_disabled"
tools:context="com.example.widget_android.MainActivity">
<Button
android:id="@+id/open_widget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="Open Widget" />
单击 open_widget(由代码触发,而不是用户必须单击它)打开浮动窗口。我想将用户直接带到浮动窗口,而不是作为主要活动页面的登录页面。
这是后端java代码上发生的事情
findViewById(R.id.open_widget).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startService(new Intent(MainActivity.this,WidgetService.class));
finish();
}
});
findViewById(R.id.open_widget).performClick();
解决方案
你得到一个白屏的原因是因为这是默认行为。您尝试View
在 default 之上放置一个不可见、透明或不存在(大小为 0 像素) View
,所以您仍然看到 default View
。您需要做的是将默认设置替换View
为透明的View
.
请参阅如何在 Android 上创建透明 Activity?有关如何获得透明的信息Activity
。
推荐阅读
- ios - 在本机反应中使动画连续
- android - Android Studio ClipArt 不显示任何图标
- compiler-construction - 如何使用 APEX 编译器将 Ada 代码从 Sun Solaris 10 迁移到 11
- c# - 将 ForEach 表转换为 Datatable Jquery 表的简单方法?
- c# - mvc视图层中div中的条件
- azure - Azure 应用程序网关和 Key Vault - GW 看不到续订的 SSL 证书
- hy - HyLang:如何在 hy 中最简单的 for 循环?
- r - R:按时间段聚合时间序列列表
- c# - 将旧版 Entity Framework 4.0 升级到 5.0
- gdb - gdb 可以打印扩展的预处理器/宏结果吗?