Adicionar "dialogue box" em botão

To tentando criar meu primeiro app android, escolhi tentar fazer um bloco de notas, criei aquele botão flutuante com um +, quero fazer aparecer uma caixa de dialogo com um campo para digitar, alguem sabe como fazer isso ? ou então algum componente pra eu pesquisar mais sobre ?

Fala Igor,

Você deve fazer uma referência ao botão na sua classe, e ao ser clickado você pode chamar um método, por exemplo showAlertBox();

E dentro do método você coloca:

new AlertDialog.Builder(context)
    .setTitle("Delete entry")
    .setMessage("Are you sure you want to delete this entry?")
    .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) { 
            // continue with delete
        }
     })
    .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) { 
            // do nothing
        }
     })
    .setIcon(android.R.drawable.ic_dialog_alert)
     .show();

Qualquer dúvida grita ai.

Abraços.

Consegui fazer o botão ter vida, ele chama uma caixa de dialogo de teste que fiz, ótimo, agora tenho q fazer essa caixa de dialogo ter um campo de texto, estou procurando.

Código até agora:
dialogobox.java:
package com.example.igor.blocodenotas;

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutCompat;
import android.widget.Toast;

/**
 * Created by Igor on 19/05/2016.
 */
public class Dialogobox extends DialogFragment{
    @Override
    public Dialog onCreateDialog(Bundle saveInstanceState){

        AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());

        builder.setNegativeButton(R.string.cancelar,new DialogInterface.OnClickListener(){
            @Override
            public void onClick(DialogInterface dialog, int which){
                Toast.makeText(getActivity(),"você clicou em cancelar",Toast.LENGTH_SHORT).show();
            }
        });
        builder.setPositiveButton(R.string.salvar,new DialogInterface.OnClickListener(){
            @Override
            public void onClick(DialogInterface dialog, int which){
                Toast.makeText(getActivity(),"você clicou em salvar",Toast.LENGTH_SHORT).show();
            }
        });
        Dialog dialog=builder.create();

        return dialog;
    }
}

main activity:

package com.example.igor.blocodenotas;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }
    public void mostrardialogo(View view)
    {
        Dialogobox dialogobox=new Dialogobox();
        dialogobox.show(getFragmentManager(),"Dialogo Box");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Eu to achando que veio bastante código pronto quando criei no android studio, da pra apagar alguma coisa ?