Ola Pessoal estou fazendo uma aplicação para android onde eu verifico umas comandas para ver se estar aberta ou fechada o projeto, inicial me diz que eu tenho que desenhar um teclado(que ainda nao sei como fazer) porem pelo que percebi tenho que desatibilitar o teclado inicial do aplicativo como devo fazer isto
desabilitar teclado do aplicatico
desenhar este teclado e colocar para funcionar( alguem tem exemplo de como posso fazer isto)
Pelo que eu entendi, vc quer fazer seu próprio teclado, e colocá-lo pra funcionar, correto??
Se for isso, vc pode ‘brincar’ com o LinearLayout, e colocar uns botões nele… Dá um pouco de trabalho, mas vale a pena… eu fiz um teclado numérico aqui que ficou bem bacana!
J
joaotime
ola elizangela boa tarde vc tem exemplo de onde vc pegou como estou comecando agora fico meio perdido ainda
Obrigado
Joao
eliangela
Na verdade não tenho nenhum exemplo… Ainda não achei nenhum local que exemplificasse a criação de um teclado personalizado.
Eu não consigo te passar as classes que tenho aqui como exemplo, porque tenho muitas classes aqui. Acho que ainda hj consigo bolar um exemplo pra te passar.
J
joaotime
ok fico no agurado
eliangela
Olá, João!
Desculpe a demora, mas estou aqui, finalmente!
Segue um pequeno exemplo de como vc pode implementar um tecladinho:
O seguredo está em controlar em qual campo que está o foco.
packageteste.teste;importandroid.content.Context;importandroid.view.Gravity;importandroid.view.View;importandroid.view.ViewGroup.LayoutParams;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.LinearLayout;importjava.util.ArrayList;importjava.util.List;/** * * @author eliangela */publicclassTecladoNumerico{privateLinearLayoutprincipalLayout;privateStringBuildertexto=newStringBuilder();privateEditTextondeEscrever;privateList<EditText>ondeEscreverList=newArrayList<EditText>();privateintfocoAtual=0;//privateContextcontext;privateLinearLayouttecladoLayout;privateLinearLayoutnumerosLayout;privatefloattextSize=30;//layout dos numerosprivateLinearLayoutrow1;//1,2,3privateLinearLayoutrow2;//4,5,6privateLinearLayoutrow3;//7,8,9//privateLinearLayout.LayoutParamsrowNumLayoutParams;privateLinearLayout.LayoutParamsfuncLayoutParams;publicTecladoNumerico(Contextcontext){this.principalLayout=newLinearLayout(context);this.context=context;init();buildNumerico();}privatevoidinit(){tecladoLayout=newLinearLayout(context);numerosLayout=newLinearLayout(context);principalLayout.setLayoutParams(newLinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));funcLayoutParams=newLinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);funcLayoutParams.gravity=Gravity.CENTER;funcLayoutParams.weight=0.5F;}privatevoidbuildNumerico(){principalLayout.setOrientation(LinearLayout.VERTICAL);numerosLayout.setOrientation(LinearLayout.VERTICAL);tecladoLayout.setOrientation(LinearLayout.HORIZONTAL);rowNumLayoutParams=newLinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);rowNumLayoutParams.gravity=Gravity.CENTER;rowNumLayoutParams.weight=0.5F;row1=newLinearLayout(context);row1.setOrientation(LinearLayout.HORIZONTAL);Buttonn1Button=newButton(context);Buttonn2Button=newButton(context);Buttonn3Button=newButton(context);Buttonn4Button=newButton(context);Buttonn5Button=newButton(context);Buttonn6Button=newButton(context);Buttonn7Button=newButton(context);Buttonn8Button=newButton(context);Buttonn9Button=newButton(context);n1Button.setTextSize(textSize);n1Button.setText("1");n2Button.setTextSize(textSize);n2Button.setText("2");n3Button.setTextSize(textSize);n3Button.setText("3");n4Button.setTextSize(textSize);n4Button.setText("4");n5Button.setTextSize(textSize);n5Button.setText("5");n6Button.setTextSize(textSize);n6Button.setText("6");n7Button.setTextSize(textSize);n7Button.setText("7");n8Button.setTextSize(textSize);n8Button.setText("8");n9Button.setTextSize(textSize);n9Button.setText("9");row1.addView(n1Button,rowNumLayoutParams);row1.addView(n2Button,rowNumLayoutParams);row1.addView(n3Button,rowNumLayoutParams);row2=newLinearLayout(context);row2.setOrientation(LinearLayout.HORIZONTAL);row2.addView(n4Button,rowNumLayoutParams);row2.addView(n5Button,rowNumLayoutParams);row2.addView(n6Button,rowNumLayoutParams);row3=newLinearLayout(context);row3.setOrientation(LinearLayout.HORIZONTAL);row3.addView(n7Button,rowNumLayoutParams);row3.addView(n8Button,rowNumLayoutParams);row3.addView(n9Button,rowNumLayoutParams);numerosLayout.addView(row1);numerosLayout.addView(row2);numerosLayout.addView(row3);LinearLayout.LayoutParamsnumLayoutParams=newLinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);numLayoutParams.gravity=Gravity.CENTER;numLayoutParams.weight=0.3F;tecladoLayout.addView(numerosLayout,numLayoutParams);principalLayout.addView(tecladoLayout);}publicvoidsetTextSize(floatsize){this.textSize=size;}privatevoidsetOndeEscrever(EditTextondeEscrever){this.ondeEscrever=ondeEscrever;if(ondeEscrever==null){this.texto=newStringBuilder();return;}this.texto=newStringBuilder(this.ondeEscrever.getText());this.ondeEscrever.requestFocus();}protectedbooleanisEmpty(){returntexto.length()==0;}protectedvoidinsertString(Stringtexto){if(ondeEscrever==null){return;}Stringtxt=ondeEscrever.getText().toString();if(!this.texto.toString().equals(txt)){this.texto=newStringBuilder(txt);}this.texto.append(texto);ondeEscrever.setText(this.texto.toString());}publicsynchronizedvoidbackspace(){if(ondeEscrever==null){return;}Stringtxt=ondeEscrever.getText().toString();if(!texto.toString().equals(txt)){texto=newStringBuilder(txt);}if(isEmpty()){return;}texto.deleteCharAt(texto.length()-1);ondeEscrever.setText(texto.toString());}publicbooleanisLastFocus(){returnfocoAtual==ondeEscreverList.size()-1;}publicbooleanisFirstFocus(){returnfocoAtual==0;}publicvoidnextFocus(){if(++focoAtual>=ondeEscreverList.size()){focoAtual=0;}setOndeEscrever(this.ondeEscreverList.get(focoAtual));}publicvoidprevFocus(){if(--focoAtual<0){focoAtual=this.ondeEscreverList.size()-1;}setOndeEscrever(this.ondeEscreverList.get(focoAtual));}publicvoidaddOndeEscrever(EditText...edits){for(EditTextv:edits){if(this.ondeEscreverList.contains(v)){thrownewIllegalArgumentException("OmesmoEditTextnãopodeseradicionadomaisdeumavez");}v.setInputType(0);v.setOnFocusChangeListener(newView.OnFocusChangeListener(){publicvoidonFocusChange(Viewview,booleanisFocado){if(isFocado){setOndeEscrever((EditText)view);focoAtual=ondeEscreverList.indexOf(view);}else{setOndeEscrever(null);}}});this.ondeEscreverList.add(v);}}publicvoidsetVisivel(booleanvisivel){principalLayout.setVisibility(visivel?View.VISIBLE:View.INVISIBLE);}publicbooleanisVisivel(){returnprincipalLayout.getVisibility()==View.VISIBLE;}publicLinearLayoutgetTecladoAsLinearLayout(){returnprincipalLayout;}}
J
joaotime
ola cara amigo obrigado pela dica como ainda sou meio novato estaseria uma classe no android certo
como chamar ela na aplicao principal
OBrigado
Joao
J
joaotime
Ola Cara Amigo eu clieu uma classe como devo chamar ele se aguem tambem puder me ajudar
?