Android 自定义键盘(字母+数字)

编程入门 行业动态 更新时间:2024-10-28 10:25:12

Android <a href=https://www.elefans.com/category/jswz/34/1771438.html style=自定义键盘(字母+数字)"/>

Android 自定义键盘(字母+数字)

1.直接上个效果图: 

来布局代码: 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="10"><TextViewandroid:id="@+id/tv_title"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="这是标题啊"android:textColor="#Ffff"android:textSize="28sp" /></RelativeLayout><RelativeLayoutandroid:id="@+id/rv_ll01"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"><GridLayoutandroid:id="@+id/tblNumpad"android:layout_width="match_parent"android:layout_height="match_parent"android:columnCount="8"android:orientation="horizontal"android:rowCount="6"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:layout_gravity="center"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_columnSpan="8"android:layout_gravity="fill_horizontal"android:layout_weight="1"android:background="#fff"android:orientation="horizontal"><EditTextandroid:id="@+id/et_shuru"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:focusable="false"android:focusableInTouchMode="true"android:hint="@string/et_tishi"android:singleLine="true"android:textSize="28sp" /><Buttonandroid:id="@+id/btn_OK"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_margin="5dp"android:layout_weight="2"android:background="@drawable/numcolor_select"android:text="@string/bt_ok"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btn_EXIT"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_margin="5dp"android:layout_weight="2"android:background="@drawable/numcolor_select"android:text="@string/bt_exit"android:textColor="#FFFFFF"android:textSize="32sp" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_columnSpan="8"android:layout_gravity="fill_horizontal"android:layout_weight="1"android:layout_marginTop="10dp"android:orientation="horizontal"><Buttonandroid:id="@+id/btnNumpad1"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_row="0"android:layout_weight="1"android:background="@drawable/numcolor"android:text="1"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad2"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="2"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad3"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="3"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad4"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="4"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad5"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="5"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad6"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="6"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_bask"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_columnSpan="2"android:layout_gravity="fill_horizontal"android:layout_weight="1"android:background="@drawable/numcolor"android:text="BKsp"android:textColor="#FFFFFF"android:textSize="32sp" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_columnSpan="8"android:layout_gravity="fill_horizontal"android:layout_weight="1"android:layout_marginTop="10dp"android:orientation="horizontal"><Buttonandroid:id="@+id/btnNumpad7"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="7"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad8"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="8"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad9"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="9"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad0"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="0"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_a"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="a"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_b"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="b"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_c"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="c"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_d"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="d"android:textColor="#FFFFFF"android:textSize="32sp" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_columnSpan="8"android:layout_marginTop="10dp"android:layout_gravity="fill_horizontal"android:layout_weight="1"android:orientation="horizontal"><Buttonandroid:id="@+id/btnNumpad_e"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="e"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_f"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="f"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_g"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="g"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_h"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="h"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_i"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="i"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_j"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="j"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_k"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="k"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_l"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="l"android:textColor="#FFFFFF"android:textSize="32sp" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_columnSpan="8"android:layout_gravity="fill_horizontal"android:layout_weight="1"android:layout_marginTop="10dp"android:orientation="horizontal"><Buttonandroid:id="@+id/btnNumpad_m"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="m"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_n"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="n"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_o"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="o"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_p"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="p"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_q"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="q"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_r"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="r"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_s"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="s"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_t"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="t"android:textColor="#FFFFFF"android:textSize="32sp" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_columnSpan="8"android:layout_gravity="fill_horizontal"android:layout_weight="1"android:layout_marginTop="10dp"android:orientation="horizontal"><Buttonandroid:id="@+id/btnNumpad_u"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="u"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_v"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="v"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_w"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="w"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_x"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="x"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_y"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="y"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_z"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@drawable/numcolor"android:text="z"android:textColor="#FFFFFF"android:textSize="32sp" /><Buttonandroid:id="@+id/btnNumpad_caps"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_columnSpan="2"android:layout_gravity="fill_horizontal"android:layout_weight="1"android:background="@drawable/numcolor"android:text="Caps Lock"android:textColor="#FFFFFF"android:textSize="32sp" /></LinearLayout></LinearLayout></GridLayout></RelativeLayout></LinearLayout>

 其中的按钮样式

     一:@drawable/numcolor_select

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android=""><item android:state_pressed="true"><shape android:shape="rectangle"><!-- 透明色 --><solid android:color="#C2E4F6" /><stroke android:width="1dp" android:color="#000000" android:dashGap="0dp" /></shape></item><item android:state_pressed="false"><shape android:shape="rectangle"><solid android:color="#455D9D" /></shape></item></selector>

 二:@drawable/numcolor

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android=""><item android:state_pressed="true"><shape android:shape="rectangle" ><solid android:color="#455D9D" /><corners android:radius="5dp" /></shape></item><item android:state_pressed="false"><shape android:shape="rectangle"><!-- 透明色 --><solid android:color="#00000000" /><strokeandroid:dashGap="0dp"android:width="1dp"android:color="#000000" /><corners android:radius="5dp" /></shape></item></selector>

 这里我采用的是<GridLayout>布局来做的,当然,我这边是自定义布局,满足自己的项目需求

3.看逻辑代码:

package com.example.medx_clothes.fragment;import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridLayout;
import android.widget.ImageButton;
import android.widget.TextView;import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;import com.example.medx_clothes.R;
import com.vise.log.ViseLog;import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;/*** 键盘操作页面*/
public class RenGongGrantFragment extends Fragment {@BindView(R.id.et_shuru)EditText etShuru;@BindView(R.id.btn_OK)Button btnOK;@BindView(R.id.btn_EXIT)Button btnEXIT;@BindView(R.id.btnNumpad1)Button btnNumpad1;@BindView(R.id.btnNumpad2)Button btnNumpad2;@BindView(R.id.btnNumpad3)Button btnNumpad3;@BindView(R.id.btnNumpad4)Button btnNumpad4;@BindView(R.id.btnNumpad5)Button btnNumpad5;@BindView(R.id.btnNumpad6)Button btnNumpad6;@BindView(R.id.btnNumpad_bask)Button btnNumpadBask;@BindView(R.id.btnNumpad7)Button btnNumpad7;@BindView(R.id.btnNumpad8)Button btnNumpad8;@BindView(R.id.btnNumpad9)Button btnNumpad9;@BindView(R.id.btnNumpad0)Button btnNumpad0;@BindView(R.id.btnNumpad_a)Button btnNumpadA;@BindView(R.id.btnNumpad_b)Button btnNumpadB;@BindView(R.id.btnNumpad_c)Button btnNumpadC;@BindView(R.id.btnNumpad_d)Button btnNumpadD;@BindView(R.id.btnNumpad_e)Button btnNumpadE;@BindView(R.id.btnNumpad_f)Button btnNumpadF;@BindView(R.id.btnNumpad_g)Button btnNumpadG;@BindView(R.id.btnNumpad_h)Button btnNumpadH;@BindView(R.id.btnNumpad_i)Button btnNumpadI;@BindView(R.id.btnNumpad_j)Button btnNumpadJ;@BindView(R.id.btnNumpad_k)Button btnNumpadK;@BindView(R.id.btnNumpad_l)Button btnNumpadL;@BindView(R.id.btnNumpad_m)Button btnNumpadM;@BindView(R.id.btnNumpad_n)Button btnNumpadN;@BindView(R.id.btnNumpad_o)Button btnNumpadO;@BindView(R.id.btnNumpad_p)Button btnNumpadP;@BindView(R.id.btnNumpad_q)Button btnNumpadQ;@BindView(R.id.btnNumpad_r)Button btnNumpadR;@BindView(R.id.btnNumpad_s)Button btnNumpadS;@BindView(R.id.btnNumpad_t)Button btnNumpadT;@BindView(R.id.btnNumpad_u)Button btnNumpadU;@BindView(R.id.btnNumpad_v)Button btnNumpadV;@BindView(R.id.btnNumpad_w)Button btnNumpadW;@BindView(R.id.btnNumpad_x)Button btnNumpadX;@BindView(R.id.btnNumpad_y)Button btnNumpadY;@BindView(R.id.btnNumpad_z)Button btnNumpadZ;@BindView(R.id.btnNumpad_caps)Button btnNumpadCaps;@BindView(R.id.tblNumpad)GridLayout tblNumpad;private Unbinder bind;private StringBuffer stringBuffer;private Handler handler = new Handler(Looper.myLooper()) {@Overridepublic void handleMessage(@NonNull Message msg) {super.handleMessage(msg);switch (msg.what) {case 1:String numzhi = String.valueOf(msg.obj);if (numzhi.equals("delete")) {//输入框字符长度不为0if (stringBuffer.length() != 0) {String ads = String.valueOf(stringBuffer.deleteCharAt(stringBuffer.length() - 1));etShuru.setText(ads);}} else {stringBuffer.append(numzhi);}etShuru.setText(stringBuffer);break;case 2:ViseLog.i( "stringBuffer="+stringBuffer);if (stringBuffer.length() !=0) {stringBuffer.setLength(0);etShuru.setText("");}break;}}};public RenGongGrantFragment() {// Required empty public constructor}@Overridepublic void onHiddenChanged(boolean hidden) {super.onHiddenChanged(hidden);if (hidden) {//隐藏ViseLog.i("隐藏");int_input(2, "123");} else {//显示}}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// Inflate the layout for this fragmentView view = inflater.inflate(R.layout.fragment_grant, container, false);bind = ButterKnife.bind(this, view);stringBuffer = new StringBuffer();return view;}@OnClick({R.id.et_shuru, R.id.btn_OK, R.id.btn_EXIT, R.id.btnNumpad1, R.id.btnNumpad2, R.id.btnNumpad3, R.id.btnNumpad4, R.id.btnNumpad5, R.id.btnNumpad6, R.id.btnNumpad_bask, R.id.btnNumpad7, R.id.btnNumpad8, R.id.btnNumpad9, R.id.btnNumpad0, R.id.btnNumpad_a, R.id.btnNumpad_b, R.id.btnNumpad_c, R.id.btnNumpad_d, R.id.btnNumpad_e, R.id.btnNumpad_f, R.id.btnNumpad_g, R.id.btnNumpad_h, R.id.btnNumpad_i, R.id.btnNumpad_j, R.id.btnNumpad_k, R.id.btnNumpad_l, R.id.btnNumpad_m, R.id.btnNumpad_n, R.id.btnNumpad_o, R.id.btnNumpad_p, R.id.btnNumpad_q, R.id.btnNumpad_r, R.id.btnNumpad_s, R.id.btnNumpad_t, R.id.btnNumpad_u, R.id.btnNumpad_v, R.id.btnNumpad_w, R.id.btnNumpad_x, R.id.btnNumpad_y, R.id.btnNumpad_z, R.id.btnNumpad_caps})public void onViewClicked(View view) {switch (view.getId()) {case R.id.btn_OK:if (stringBuffer != null) {if (stringBuffer.length() > 10) {//  UtilityToolsClass.showToast(getActivity(), "卡号或工号不能大于10位数");init_dialog(getActivity().getResources().getString(R.string.dialog_tips3));} else if (stringBuffer.length() == 0) {//  UtilityToolsClass.showToast(getActivity(), "请输入卡号或工号");init_dialog(getActivity().getResources().getString(R.string.dialog_tips1));}}break;case R.id.btn_EXIT://退出页面break;case R.id.btnNumpad1:int_input(1, btnNumpad1.getText().toString().trim());break;case R.id.btnNumpad2:int_input(1, btnNumpad2.getText().toString().trim());break;case R.id.btnNumpad3:int_input(1, btnNumpad3.getText().toString().trim());break;case R.id.btnNumpad4:int_input(1, btnNumpad4.getText().toString().trim());break;case R.id.btnNumpad5:int_input(1, btnNumpad5.getText().toString().trim());break;case R.id.btnNumpad6:int_input(1, btnNumpad6.getText().toString().trim());break;//清除键case R.id.btnNumpad_bask:int_input(1, "delete");break;case R.id.btnNumpad7:int_input(1, btnNumpad7.getText().toString().trim());break;case R.id.btnNumpad8:int_input(1, btnNumpad8.getText().toString().trim());break;case R.id.btnNumpad9:int_input(1, btnNumpad9.getText().toString().trim());break;case R.id.btnNumpad0:int_input(1, btnNumpad0.getText().toString().trim());break;//字母处理case R.id.btnNumpad_a:int_input(1, btnNumpadA.getText().toString().trim());break;case R.id.btnNumpad_b:int_input(1, btnNumpadB.getText().toString().trim());break;case R.id.btnNumpad_c:int_input(1, btnNumpadC.getText().toString().trim());break;case R.id.btnNumpad_d:int_input(1, btnNumpadD.getText().toString().trim());break;case R.id.btnNumpad_e:int_input(1, btnNumpadE.getText().toString().trim());break;case R.id.btnNumpad_f:int_input(1, btnNumpadF.getText().toString().trim());break;case R.id.btnNumpad_g:int_input(1, btnNumpadG.getText().toString().trim());break;case R.id.btnNumpad_h:int_input(1, btnNumpadH.getText().toString().trim());break;case R.id.btnNumpad_i:int_input(1, btnNumpadI.getText().toString().trim());break;case R.id.btnNumpad_j:int_input(1, btnNumpadJ.getText().toString().trim());break;case R.id.btnNumpad_k:int_input(1, btnNumpadK.getText().toString().trim());break;case R.id.btnNumpad_l:int_input(1, btnNumpadL.getText().toString().trim());break;case R.id.btnNumpad_m:int_input(1, btnNumpadM.getText().toString().trim());break;case R.id.btnNumpad_n:int_input(1, btnNumpadN.getText().toString().trim());break;case R.id.btnNumpad_o:int_input(1, btnNumpadO.getText().toString().trim());break;case R.id.btnNumpad_p:int_input(1, btnNumpadP.getText().toString().trim());break;case R.id.btnNumpad_q:int_input(1, btnNumpadQ.getText().toString().trim());break;case R.id.btnNumpad_r:int_input(1, btnNumpadR.getText().toString().trim());break;case R.id.btnNumpad_s:int_input(1, btnNumpadS.getText().toString().trim());break;case R.id.btnNumpad_t:int_input(1, btnNumpadT.getText().toString().trim());break;case R.id.btnNumpad_u:int_input(1, btnNumpadU.getText().toString().trim());break;case R.id.btnNumpad_v:int_input(1, btnNumpadV.getText().toString().trim());break;case R.id.btnNumpad_w:int_input(1, btnNumpadW.getText().toString().trim());break;case R.id.btnNumpad_x:int_input(1, btnNumpadX.getText().toString().trim());break;case R.id.btnNumpad_y:int_input(1, btnNumpadY.getText().toString().trim());break;case R.id.btnNumpad_z:int_input(1, btnNumpadZ.getText().toString().trim());break;//大小写转换case R.id.btnNumpad_caps:int_uncode();break;}}private void int_input(int num, String value) {Message message = handler.obtainMessage();message.what = num;message.obj = value;handler.sendMessage(message);}//方式一/* private void int_uncode() {if (btnNumpadA.getText().toString().equals("a")) {btnNumpadA.setText("A");btnNumpadB.setText("B");btnNumpadC.setText("C");btnNumpadD.setText("D");btnNumpadE.setText("E");btnNumpadF.setText("F");btnNumpadG.setText("G");btnNumpadH.setText("H");btnNumpadI.setText("I");btnNumpadJ.setText("J");btnNumpadK.setText("K");btnNumpadL.setText("L");btnNumpadM.setText("M");btnNumpadN.setText("N");btnNumpadO.setText("O");btnNumpadP.setText("P");btnNumpadQ.setText("Q");btnNumpadR.setText("R");btnNumpadS.setText("S");btnNumpadT.setText("T");btnNumpadU.setText("U");btnNumpadV.setText("V");btnNumpadW.setText("W");btnNumpadX.setText("X");btnNumpadY.setText("Y");btnNumpadZ.setText("Z");} else if (btnNumpadA.getText().toString().equals("A")) {btnNumpadA.setText("a");btnNumpadB.setText("b");btnNumpadC.setText("c");btnNumpadD.setText("d");btnNumpadE.setText("e");btnNumpadF.setText("f");btnNumpadG.setText("g");btnNumpadH.setText("h");btnNumpadI.setText("i");btnNumpadJ.setText("j");btnNumpadK.setText("k");btnNumpadL.setText("l");btnNumpadM.setText("m");btnNumpadN.setText("n");btnNumpadO.setText("o");btnNumpadP.setText("p");btnNumpadQ.setText("q");btnNumpadR.setText("r");btnNumpadS.setText("s");btnNumpadT.setText("t");btnNumpadU.setText("u");btnNumpadV.setText("v");btnNumpadW.setText("w");btnNumpadX.setText("x");btnNumpadY.setText("y");btnNumpadZ.setText("z");}} *///方式二private void int_uncode() {boolean strbool = false;if (btnNumpadA.getText().toString().equals("a")) {strbool = true;} else if (btnNumpadA.getText().toString().equals("A")) {strbool = false;}btnNumpadA.setText(strbool ? btnNumpadA.getText().toString().toUpperCase() : btnNumpadA.getText().toString().toLowerCase());btnNumpadB.setText(strbool ? btnNumpadB.getText().toString().toUpperCase() : btnNumpadB.getText().toString().toLowerCase());btnNumpadC.setText(strbool ? btnNumpadC.getText().toString().toUpperCase() : btnNumpadC.getText().toString().toLowerCase());btnNumpadD.setText(strbool ? btnNumpadD.getText().toString().toUpperCase() : btnNumpadD.getText().toString().toLowerCase());btnNumpadE.setText(strbool ? btnNumpadE.getText().toString().toUpperCase() : btnNumpadE.getText().toString().toLowerCase());btnNumpadF.setText(strbool ? btnNumpadF.getText().toString().toUpperCase() : btnNumpadF.getText().toString().toLowerCase());btnNumpadG.setText(strbool ? btnNumpadG.getText().toString().toUpperCase() : btnNumpadG.getText().toString().toLowerCase());btnNumpadH.setText(strbool ? btnNumpadH.getText().toString().toUpperCase() : btnNumpadH.getText().toString().toLowerCase());btnNumpadI.setText(strbool ? btnNumpadI.getText().toString().toUpperCase() : btnNumpadI.getText().toString().toLowerCase());btnNumpadJ.setText(strbool ? btnNumpadJ.getText().toString().toUpperCase() : btnNumpadJ.getText().toString().toLowerCase());btnNumpadK.setText(strbool ? btnNumpadK.getText().toString().toUpperCase() : btnNumpadK.getText().toString().toLowerCase());btnNumpadL.setText(strbool ? btnNumpadL.getText().toString().toUpperCase() : btnNumpadL.getText().toString().toLowerCase());btnNumpadM.setText(strbool ? btnNumpadM.getText().toString().toUpperCase() : btnNumpadM.getText().toString().toLowerCase());btnNumpadN.setText(strbool ? btnNumpadN.getText().toString().toUpperCase() : btnNumpadN.getText().toString().toLowerCase());btnNumpadO.setText(strbool ? btnNumpadO.getText().toString().toUpperCase() : btnNumpadO.getText().toString().toLowerCase());btnNumpadP.setText(strbool ? btnNumpadP.getText().toString().toUpperCase() : btnNumpadP.getText().toString().toLowerCase());btnNumpadQ.setText(strbool ? btnNumpadQ.getText().toString().toUpperCase() : btnNumpadQ.getText().toString().toLowerCase());btnNumpadR.setText(strbool ? btnNumpadR.getText().toString().toUpperCase() : btnNumpadR.getText().toString().toLowerCase());btnNumpadS.setText(strbool ? btnNumpadS.getText().toString().toUpperCase() : btnNumpadS.getText().toString().toLowerCase());btnNumpadT.setText(strbool ? btnNumpadT.getText().toString().toUpperCase() : btnNumpadT.getText().toString().toLowerCase());btnNumpadU.setText(strbool ? btnNumpadU.getText().toString().toUpperCase() : btnNumpadU.getText().toString().toLowerCase());btnNumpadV.setText(strbool ? btnNumpadV.getText().toString().toUpperCase() : btnNumpadV.getText().toString().toLowerCase());btnNumpadW.setText(strbool ? btnNumpadW.getText().toString().toUpperCase() : btnNumpadW.getText().toString().toLowerCase());btnNumpadX.setText(strbool ? btnNumpadX.getText().toString().toUpperCase() : btnNumpadX.getText().toString().toLowerCase());btnNumpadY.setText(strbool ? btnNumpadY.getText().toString().toUpperCase() : btnNumpadY.getText().toString().toLowerCase());btnNumpadZ.setText(strbool ? btnNumpadZ.getText().toString().toUpperCase() : btnNumpadZ.getText().toString().toLowerCase());}/*** 弹框的方法*/void init_dialog(String as) {AlertDialog.Builder customizeDialog =new AlertDialog.Builder(getActivity());final View dialogView = LayoutInflater.from(getActivity()).inflate(R.layout.layout_setdialogtips, null);customizeDialog.setView(dialogView);TextView text = dialogView.findViewById(R.id.tv_text);text.setText(as + "");Button btn_OK = dialogView.findViewById(R.id.btn_OK);final AlertDialog dialog = customizeDialog.show();Window window = dialog.getWindow();window.setGravity(Gravity.CENTER);customizeDialog.create();btn_OK.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {dialog.dismiss();}});}@Overridepublic void onDestroyView() {super.onDestroyView();bind.unbind();handler.removeCallbacksAndMessages(null);}
}

当你看完,并且是有把代码复出来测试的话,基本的功能可以实现了,这上面的代码我是有删除了一些没有的,复制出来可能报错,应该是看代码可以轻松解决的,但是这个整体下来代码量很多体力活,如果你有更好的处理方式也可以底部评论区留下更好的处理办法。

更多推荐

Android 自定义键盘(字母+数字)

本文发布于:2024-03-04 00:27:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1707775.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   字母   键盘   数字   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!