类似Toast的可点击替代方案,用于启动NO-GUI应用程序的意图?

时间:2013-02-17 11:08:11

标签: android

对于我的生活,我无法弄清楚这一点。我开始做的是有一个可点击的Toast消息,它会启动一个意图。谷歌搜索后,我发现吐司无法点击。我以为我可以使用PopupWindow来实现相同的功能,但我的问题是我的应用程序没有View,而PopupWindows需要root视图。

public class MyApp extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    //Call an Android api method here

    Toast toast=Toast.makeText(this, "Hello", 3000);
    finish();
    }
}

该应用只需调用Android API即可显示Toast。根本就没有GUI。 所以我的问题是,我可以用这个toast替换这个toast,这样我就可以有一个可点击的对话框/弹出窗口来启动一个Intent?

1 个答案:

答案 0 :(得分:0)

这是Android Dialogs

的完美案例

与提及的@ρяσѕρєяK一样,您可以使用postDelayed回调在指定时间后取消对话框,而无需用户干预。

另一种方法是使用Toast和自定义视图。

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
                               (ViewGroup) findViewById(R.id.toast_layout_root));

Toast toast = new Toast(getApplicationContext());
toast.setView(layout);

如果由于未先调用setContentView而遇到任何问题,可以使用空白布局调用它。在您的清单中,将您的活动主题设置为android:theme="@android:style/Theme.NoDisplay"

这基本上会创建一个透明的活动。因此,您的对话框似乎是用户所在的上一个活动