#DIALOG : GradientDrawable In CustomDialog


VAMOS APRENDE A USAR GRADIENTDRAWABLE NO CUSTOM DIALOG RAPIDO E FACIL, SE VOCÊ NÃO SABE COMO FAZER O CUSTOM DIALOG RECOMENDO QUE VEJA O TUTORIAL DE COMO FAZER UM CUSTOM DIALOG.

CREATE YOU CUSTOM DIALOG IN SKETCHWARE

1: Primeiro Abra seu projeto com um diálogo customizado já feito.
________________



2:  Va Ate o customView do customDialog Veja o id do linear que sustenta os outros ou seja o LINEAR que contém todos os outros widgets .


3: O LINEAR que contem todos os widgets na Minha customView e o ( linear1) Pegue o id do linear da sua customView.
________________
4: Abra a Atividade responsável por abri esse dialogo.


________________
5: Coloque um bloco Verde A mais entre o Primeiro E o segundo Bloco verde.


________________
6: Lembre do id do LINEAR do CustomView. o Meu e (Linear1).
________________
7: Coloque esse código no novo BLOCO VERDE  Entre o primeiro bloco verde e o segundo. código abaixo ↓.

LinearLayout lna3 = (LinearLayout) inflate.findViewById(R.id.linear3);

android.graphics.drawable.GradientDrawable gd = new android.graphics.drawable.GradientDrawable();
int clr[] = new int[]{ Color.parseColor("#ff155898"), Color.parseColor("#ff159958") };
gd.setColors(clr);
gd.setOrientation(android.graphics.drawable.GradientDrawable.Orientation.RIGHT_LEFT);
lna3.setBackground(gd);

MODIFICAÇÃO : PARA MODIFICA AS CORES BASTA MODIFICA OS CODIGOS DAS CORES.
9: Substitua o id com a ceta pelo id da sua linear, ou seja a LINEAR que contém todos os widgets do customDialog.




________________
OBSERVAÇÕES : VEJA SE OS BLCOS ESTÃO CORRETOS VAMOS PARA ULTIMO PASSO.


10: Depois basta Salva e Compactar o Projeto . 

#DIALOG : CustomDialog


VAMOS FAZER UM DIALOGO PARECIDO COM ESSE HOJE !!!
APENAS 20 PASSOS BEM EXPLICADOS PARA NINGUEM ERRA NA HORA DE FAZER UM DIALOGO PERSONALIZADO

1: Abra o seu projeto no sketchware.
_______________
2: Abra o menur de Layouts.

_______________
3: Depois de Abri o Menu Aperte en CUSTOM VIEW.

________________
4: Depois Aperte no Ícone de mais ao lado do CUSTOM VIEW.

__________________
5: Uma Caixa de Dialogo sera aberta digite o nome do novo CUSTOM VIEW Utilize esse nome ( customdialog1 ) Depois Aperte en ADD .

___________________
6: Depois Aperte no novo CUSTOM VIEW .

___________________
7: Depois de Abri seu Layout Customize como deseja sempre lembrando de deixa um textview como o finalizador ou seja o button responsável por fecha o dialogo personalizado.

8: Lembre de pega o id desse textview que sera responsável por fecha o dialogo, neste layout o id do textview e ( textview3 ) ou seja o textview ( VAMOS COMEÇAR ).


___________________
9: Depois de Fazer Esse Layout Personalizado para o dialogo Vamos para a logica com Codigos .
10: Volte para a tela MainActivity.
____________________
11: Na logica ( EVENT ) Abra o Oncreate Ou Seja a atividade que sera efetua quando o usuário abri o Aplicativo.

______________________
12: Dentro do Oncreate Coloque 6 Blocos para Injetar Codigos ( Add SourceDirectly ). VOU ME REFERIR COMO BLOCOS VERDES

OBSERVAÇÃO : OS BLOCOS ADD SOURCE DIRECTLY ESTA DISPONIVEL NA CATEGORIA ( OPERATOR ) OU SEJA OS BLOCOS VERDES NO SKETCHWARE.


_______________________
13: No Primeiro BLOCO VERDE Coloque esse código Abaixo ;

final AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).create();
View inflate = getLayoutInflater().inflate(R.layout.customdialog1, null);
dialog.setView(inflate);

OBSERVAÇÃO : ESSE CODIGO SO VAI FUNCIONAR NA TELA MAINACTIVITY OU SEJA A PRIMEIRA TELA PADRÃO DO SEU APLICATIVO ; VAMOS DIZER QUE VOCÊ QUER QUE SEJA EN OUTRA TELA BASTA VOCÊ MODIFICA O NOME MainActivity PELO DA SUA TELA. 


______________________
14: Abaixo Do Primeiro BLOCO VERDE Coloque esse Outro código abaixo.

TextView txt3 = (TextView) inflate.findViewById(R.id.textview3);




OBSERVAÇÃO : ESSE CODIGO ACIMA VAI DEFINIR QUE O WIDGET TEXTVIEW VAI SER UM TEXTVIEW COM FUNÇÕES, COMO ASSIM ?
NA TELA PRINCIPAL DO SEU APP SE VOCÊ COLOCA VARIOS TEXTVIEW VAI APARECER UM COM O ID TEXTVIEW3 OU SEJA O MESMO ID DO TEXTVIEW DO CUSTOM VIEW ESSE CODIGO ACIMA VAI DEFINIR QUE O ID TXT3 VAI SER O ID RESPONSAVEL POR PASSA QUALQUER ATIVIDADE PARA O TEXTVIEW3.
______________________
15: Agora Vamos definir a Função para fecha o dialogo, Coloque esse código no 3 BLOCO VERDE.

txt3.setOnClickListener(new OnClickListener() { public void onClick(View view) { 




_______________________
16: Agora vamos Coloca outro código no BLOCO VERDE  Coloque esse codigo abaixo dos outros codigos.

dialog.dismiss();

Dica : Se você deseja coloca outra função ao invez de apenas fecha o dialogo basta coloca os blocos da função desejada abaixo desse código acima sem retira nem um BLOCO VERDE Basta pega o bloco da função que deseja e coloca abaixo, como um toast ou seja uma mensagem instantânea basta coloca o bloco toast abaixo do código diálogo.dismiss(); . Segue o tutorial ↓



OBSERVAÇÃO : ESSE CODIGO E RESPONSAVEL POR FECHA DIALOGO APOS O USUARIO APERTA NO BUTTON.
________________________
17: Agora vamos finalizar o Click Com esse código, coloque esse código no penúltimo BLOCO VERDE.

}});



_________________________
18: Agora Vamos Finalizar, Coloque esse ultimo código no último BLOCO VERDE.

dialog.show();



___________________________
19: Agora e só Salvar e COMPACTA O PROJETO INSTALAR E USAR COMO QUISER !!! PRINT ABAIXO



____________________________
20: Depois e so instalar o Projeto e pronto


Depois de Instalar e so abrir


Pronto Finalizamos Por aqui hoje !

CREATE WIDGET ;

//EditText

final EditText myedit = new EditText(ProjectinActivity.this); myedit.setHint("Your Hint"); myedit.setLayoutParams(new LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT)); mylinear.addView(myedit);

//TextView

final TextView mytext = new TextView(ProjectinActivity.this); mytext.setText("Your Text"); mytext.setTextColor(0xFF000000); mytext.setLayoutParams(new LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT)); mylinear.addView(mytext);

//Button

final Button mybutton = new Button(ProjectinActivity.this); mybutton.setText("Your Button"); mybutton.setLayoutParams(new LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT)); mylinear.addView(mybutton);

//ProgressBar(Cicle) linear1 is an LinearLayout and MainActivity is your activity

ProgressBar msg = new ProgressBar(MainActivity.this);  linear1.addView(msg);

//ProgressBar 

ProgressBar tp = new ProgressBar(this,null, android.R.attr.progressBarStyleHorizontal); linear1.addView(tp,700,30); tp.setIndeterminate(true);

//RatingBar

RatingBar tp = new RatingBar(this); linear1.addView(tp);

PORTRAIT ORIENTATION OF THE SCREEN ;

setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);


LANDSCAPE ORIENTATION OF THE SCREEN ;

setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

EDITTEXT SELECT ALL ON FOCUS;

edittext1.setSelectAllOnFocus(true);

TEXT OF THE VOICE ;

final android.speech.tts.TextToSpeech t1 = new android.speech.tts.TextToSpeech(getApplicationContext(), new android.speech.tts.TextToSpeech.OnInitListener() { @Override  public void onInit(int status) {  if(status == android.speech.tts.TextToSpeech.ERROR) { Toast.makeText(getApplicationContext(), "Error",Toast.LENGTH_SHORT).show();   }   }   } );   button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _v) {  String sentence = edittext1.getText().toString();  Toast.makeText(getApplicationContext(), sentence,Toast.LENGTH_SHORT).show(); t1.speak(sentence,android.speech.tts.TextToSpeech.QUEUE_FLUSH, null);  }  } );

ONCLICKLISTENER IS ONTOUCHLISTENER ;

WIDGET.setOnTouchListener(new OnTouchListener() { PointF DownPT = new PointF(); PointF StartPT = new PointF(); @Override public boolean onTouch(View v, MotionEvent event) { int eid = event.getAction(); switch (eid) {

case MotionEvent.ACTION_MOVE : PointF mv=new PointF( event.getX() - DownPT.x, event.getY() - DownPT.y); img.setX((int)(StartPT.x+mv.x)); img.setY((int)(StartPT.y+mv.y)); StartPT= new PointF(img.getX(), img.getY()); break;

case MotionEvent.ACTION_DOWN : DownPT.x = event.getX(); DownPT.y = event.getY(); StartPT = new PointF(img.getX(), img.getY() ); break;

case MotionEvent.ACTION_UP : float distance = DownPT.x - event.getX(); if (distance == 0) { //block } break; default : break;} return true;} });

TOAST LONG MESSAGE ;

Toast.makeText(getApplicationContext(), "Your Message", Toast.LENGTH_LONG).show();


SET TEXT COLOR RGB :

textview1.setTextColor(Color.rgb(73,82,178));


SET TEXT COLOR HEX :

textview1.setTextColor(Color.parseColor("#000000"));


DIALOG SET CANCELABLE :

mydialog.setCancelable(false);


SHOW EDITTEXT DIALOG :

LinearLayout mylayout = new LinearLayout(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); mylayout.setLayoutParams(params); mylayout.setOrientation(LinearLayout.VERTICAL); final EditText myedittext = new EditText(this);  myedittext.setLayoutParams(new LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.MATCH_PARENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT)); mylayout.addView(myedittext); mydialogcomp.setView(mylayout);


EDITTEXT DISABLE SUGGESTIONS ( MULTI LINE ) :

edittext1.setRawInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

EDITTEXT DISABLE SUGGESTIONS ( SINGLE LINE ) :

edittext1.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);