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