1

Google TV のオーバーレイを作成しています。次のように、アプリケーションを介してブロードキャストが表示されるように、透過テーマを作成しました。

Styles.xml

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="Invisible" parent="@android:style/Theme">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>

このテーマを使用しない場合は、次を使用して画像付きのカスタム トーストを表示できます。

             View layout = inflater.inflate(R.layout.toast,
                        (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.makeText(this, "This game is over. Start a new game.", Toast.LENGTH_SHORT).show();

トーストは画面の中央に画像を表示するだけなので、複雑にする必要はありません。

どんな助けでも大歓迎です。

4

2 に答える 2

0

トーストには、現在アクティブなアクティビティで使用されているテーマが組み込まれます。レオンが述べたように、必要なテーマでアクティビティを作成すると、トーストはテーマを継承します。参照:アクティビティのテーマに合わせてトーストの背景を変更する

于 2013-03-25T14:47:57.103 に答える
0

代わりに、そのレイアウトでアクティビティを作成してください。トーストを呼び出す代わりに、アクティビティを開始します。

于 2013-03-23T23:42:20.947 に答える