首页 > 解决方案 > 弹出创建对话框 - Android studio

问题描述

整个 javascript 场景相对较新 - 尝试创建我的第一个应用程序!到目前为止,我已经设法创建了基本布局、链接到下一个 .xml 的按钮等。但是我真的很想要一个按钮,当单击它时,会打开一个弹出窗口,其中包含一些信息(几行描述应用程序的用途) . 不幸的是,所有教程虽然有帮助,但没有解释 mainactivity.java 中的哪个位置(例如)我需要放置代码(即在什么标签之前?我需要保留/替换什么?)我将粘贴我的完整代码对于activity.xml 和完整的mainactivity.java - 希望你们的传说能够给我一个指导!

爪哇:

    package com.example.newapp;

    import androidx.appcompat.app.AppCompatActivity;

    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    public class MainActivity extends AppCompatActivity {
    private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openactivity_tasks();
            }
        });
    }

    public void openactivity_tasks(){
        Intent intent = new Intent(this,activity_tasks.class);
        startActivity(intent);
    }
}

.xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@color/black"
tools:ignore="ExtraText">


<ImageView
    android:id="@+id/imageView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.09"
    app:srcCompat="@drawable/shortlogo"
    tools:ignore="ContentDescription" />

<Button
    android:id="@+id/button"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:background="@drawable/circlebutton"
    android:text="@string/hit_me"
    android:textColor="#000"
    android:textSize="28dp"
    android:textStyle="bold"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.711" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="4dp"
    android:paddingBottom="5dp"
    android:text="Design and What2Do owned by Armourtal Ltd 2021"
    android:textColor="@color/grey"
    android:textSize="8dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.092"
    app:layout_constraintStart_toStartOf="parent" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="4dp"
    android:paddingBottom="5dp"
    android:text="Version 0.0.1"
    android:textColor="@color/grey"
    android:textSize="8dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.963"
    app:layout_constraintStart_toStartOf="parent" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_margin="30dp"
    android:textSize="22sp"
    android:text="This is a popup window."
    android:textColor="@color/white"/>

</androidx.constraintlayout.widget.ConstraintLayout>

标签: javaxmlandroid-studioandroid-layoutpopup

解决方案


您可以在 Java 文件中使用此代码

  private void showInfo() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.AlertDialogStyle);
        builder.setMessage("Put your piece of information HERE");
    
        // Create and show the AlertDialog
        final AlertDialog alertDialog = builder.create();
        alertDialog.show();
  }

在您的 styles.xml 中添加此代码以更改文本和背景颜色

  <style name="AlertDialogStyle" parent="Theme.AppCompat.Light.Dialog">
        <!-- textColor. -->
        <item name="android:textColorPrimary">#000</item>
        <!-- background Color. -->
        <item name="android:background">#fff</item>
  </style>

在 Button 中使用方法 showInfo()

button.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
          showInfo();
     }
});

推荐阅读