Android在打开应用程序时弹出

Android在打开应用程序时弹出,android,android-layout,android-popupwindow,Android,Android Layout,Android Popupwindow,我正在开发一个Android应用程序,在这里我需要显示一个弹出窗口,其中包含应用程序打开时的一些消息(附图片以供参考)。 我曾试图通过吐司留言和快餐店来实现这一点,但不能做到完全相同 请建议使用Android中的哪个组件来实现此功能 您可以使用对话框获得所需的结果。我正在共享代码,您可以根据需要修改它,但请确保将其放入启动程序活动的onCreate方法中 这是一个简单的对话框的代码 AlertDialog.Builder builder = new AlertDialog.Builder(thi

我正在开发一个Android应用程序,在这里我需要显示一个弹出窗口,其中包含应用程序打开时的一些消息(附图片以供参考)。 我曾试图通过吐司留言和快餐店来实现这一点,但不能做到完全相同

请建议使用Android中的哪个组件来实现此功能


您可以使用
对话框
获得所需的结果。我正在共享代码,您可以根据需要修改它,但请确保将其放入
启动程序活动的
onCreate方法中

这是一个简单的
对话框的代码

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Look at this dialog!")
   .setCancelable(false)
   .setPositiveButton("OK", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int id) {
            //do things
       }
   });
AlertDialog alert = builder.create();
alert.show();
您共享的图片中显示的是一个
自定义对话框
,您必须在其中创建自己的布局。举个例子,

1。创建自己的布局

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffffff">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:id="@+id/a"
    android:gravity="center"
    android:background="#DA5F6A"
    android:src="@drawable/dialog_cross"
    android:scaleType="fitCenter" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TEXT"
    android:id="@+id/text_dialog"
    android:layout_below="@+id/a"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="4dp"
    android:layout_marginRight="4dp"
    android:layout_marginBottom="20dp"
    android:textSize="18sp"
    android:textColor="#ff000000"
    android:layout_centerHorizontal="true"
    android:gravity="center_horizontal" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:text="OK"
    android:id="@+id/btn_dialog"
    android:gravity="center_vertical|center_horizontal"
    android:layout_below="@+id/text_dialog"
    android:layout_marginBottom="20dp"
    android:background="@drawable/btn_flat_red_selector"
    android:layout_centerHorizontal="true"
    android:textColor="#ffffffff" />

</RelativeLayout>
3。在自定义对话框类的
启动程序活动中创建一个
对象
,并调用函数
showDialog

public class ViewDialog {

public void showDialog(Activity activity, String msg){
    final Dialog dialog = new Dialog(activity);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setCancelable(false);
    dialog.setContentView(R.layout.dialog);

    TextView text = (TextView) dialog.findViewById(R.id.text_dialog);
    text.setText(msg);

    Button dialogButton = (Button) dialog.findViewById(R.id.btn_dialog);
    dialogButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dialog.dismiss();
        }
    });

    dialog.show();

}
}
ViewDialog alert = new ViewDialog();
alert.showDialog(getActivity(), "Thank you for installing the Paytm 
App");
或者,您可以使用

Pop.on(this).with().title(R.string.title).layout(R.layout.custom_Pop).show()


其中,
R.layout.custom\u pop
是对话框的自定义布局。

尝试此操作可获得相同的结果:

dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right">

        <Button
            android:id="@+id/btnClose"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="X" />
    </LinearLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="10dp"
        android:text="Hello, this is your message"
        android:textSize="20sp" />

</LinearLayout>

你可以使用底部对话。你可以参考以下内容:为什么每个人都投反对票,可能你很聪明,请给出或建议答案,或者不要浪费时间去投反对票
private void showDialog() {
    final Dialog dialog = new Dialog(mContext);
    dialog.setContentView(R.layout.dialog);

    Window window = dialog.getWindow();
    WindowManager.LayoutParams wlp = window.getAttributes();

    wlp.gravity = Gravity.BOTTOM;
    wlp.flags &= ~WindowManager.LayoutParams.FLAG_DIM_BEHIND;
    window.setAttributes(wlp);

    dialog.findViewById(R.id.btnClose).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            dialog.cancel();
        }
    });

    dialog.show();
}