作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为 Google TV 创建一个应用程序。我正在尝试在广播顶部创建自定义 toast 叠加层。
我已经创建了自定义 toast,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_toast_layout_id"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFF"
android:orientation="horizontal"
android:padding="5dp" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#000" />
</LinearLayout>
并在 googleTV 应用的 View 中实现它:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.main,
(ViewGroup) findViewById(R.id.custom_toast_layout_id));
// Toast...
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
我的问题是如何让这个应用程序在应用程序中显示正常的广播信息,以便我可以在观看期间触发这个覆盖?
非常感谢任何帮助。
最佳答案
这里有一些方法:
您可以创建一个应用程序,用户必须在每次想要在直播中看到这种 toast 之前明确启动。该应用程序将有一个透明的 Activity ,然后显示 toast 或只是一个包含信息的 View 。您的 Activity 将阻止与广播的所有其他交互,例如更改 channel 。
从服务调用 toast 或透明 Activity 。看看这个开源应用程序:https://github.com/entertailion/Overlay-for-GTV
除了 toast 或透明 View 之外,您还可以使用 Android 支持的系统警报窗口将 View 覆盖在任何其他 Activity 之上。您的 list 中需要“android.permission.SYSTEM_ALERT_WINDOW”,并且需要将窗口类型设置为“WindowManager.LayoutParams.TYPE_SYSTEM_ALERT”。
关于android - 如何在 Google TV 中实现 toast 覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15586960/
我是一名优秀的程序员,十分优秀!