Android 自定义键盘 使用dialog实现

 

多年前未公司写的一个demo 用dialog实现自定义键盘  废话不多说,上代码

创建类  keyboradDialog.java

import android.app.AlertDialog;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;

import com.ceshi.ceshi.R;

public class keyboradDialog extends AlertDialog implements View.OnClickListener {

	private Button[] xButtons = new Button[39];
	private Button[] yButtons = new Button[39];
	private Button[] zButtons = new Button[39];
	private int[] ids = { R.id.dialog_key_beiyong1, R.id.dialog_key_beiyong2, R.id.dialog_key_qiehuan1,
			R.id.dialog_key_zao, R.id.dialog_key_zhong, R.id.dialog_key_ye, R.id.dialog_key_xiaban,
			R.id.dialog_key_xiugai, R.id.dialog_key_fei, R.id.dialog_key_shanchu, R.id.dialog_key_seven,
			R.id.dialog_key_eight, R.id.dialog_key_nine, R.id.dialog_key_four, R.id.dialog_key_five,
			R.id.dialog_key_one, R.id.dialog_key_two, R.id.dialog_key_three, R.id.dialog_key_zero, R.id.dialog_key_xing,
			R.id.dialog_key_fenli, R.id.dialog_key_hebing, R.id.dialog_key_chepai, R.id.dialog_key_luogan,
			R.id.dialog_key_junche, R.id.dialog_key_lvtong, R.id.dialog_key_chuangdao, R.id.dialog_key_quxiao,
			R.id.dialog_key_silei, R.id.dialog_key_wulei, R.id.dialog_key_yuepiao, R.id.dialog_key_yilei,
			R.id.dialog_key_erlei, R.id.dialog_key_sanlei, R.id.dialog_key_queren, R.id.dialog_key_wan,
			R.id.dialog_key_taigan, R.id.dialog_key_six, R.id.dialog_key_chehao };

	private int[] id2s = { R.id.dialog_key_beijing, R.id.dialog_key_tianjin, R.id.dialog_key_hebei,
			R.id.dialog_key_shanxi, R.id.dialog_key_neimenggu, R.id.dialog_key_liaoning, R.id.dialog_key_jilin,
			R.id.dialog_key_heilongjiang, R.id.dialog_key_shanghai, R.id.dialog_key_jiangsu, R.id.dialog_key_zhejiang,
			R.id.dialog_key_anhui, R.id.dialog_key_fujian, R.id.dialog_key_jiangxi, R.id.dialog_key_shandong,
			R.id.dialog_key_henan, R.id.dialog_key_hubei, R.id.dialog_key_hunan, R.id.dialog_key_guangdong,
			R.id.dialog_key_guangxi, R.id.dialog_key_hainan, R.id.dialog_key_chongqing, R.id.dialog_key_sichuan,
			R.id.dialog_key_guizhou, R.id.dialog_key_yunnan, R.id.dialog_key_xizang, R.id.dialog_key_shanxixian,
			R.id.dialog_key_gansu, R.id.dialog_key_qinghai, R.id.dialog_key_ningxia, R.id.dialog_key_xinjiang,
			R.id.dialog_key_taiwan, R.id.dialog_key_xianggang, R.id.dialog_key_aomen, R.id.dialog_key_quxiao2,
			R.id.dialog_key_shanchu2, R.id.dialog_key_xiugai2, R.id.dialog_key_queren2, R.id.dialog_key_qiehuan2 };

	private int[] id3s = { R.id.dialog_key_a, R.id.dialog_key_b, R.id.dialog_key_c, R.id.dialog_key_d,
			R.id.dialog_key_e, R.id.dialog_key_f, R.id.dialog_key_g, R.id.dialog_key_h, R.id.dialog_key_i,
			R.id.dialog_key_j, R.id.dialog_key_k, R.id.dialog_key_l, R.id.dialog_key_m, R.id.dialog_key_n,
			R.id.dialog_key_o, R.id.dialog_key_p, R.id.dialog_key_q, R.id.dialog_key_r, R.id.dialog_key_s,
			R.id.dialog_key_t, R.id.dialog_key_u, R.id.dialog_key_v, R.id.dialog_key_w, R.id.dialog_key_x,
			R.id.dialog_key_y, R.id.dialog_key_one3, R.id.dialog_key_two3, R.id.dialog_key_three3,
			R.id.dialog_key_four3, R.id.dialog_key_five3, R.id.dialog_key_six3, R.id.dialog_key_seven3,
			R.id.dialog_key_eight3, R.id.dialog_key_nine3, R.id.dialog_key_zero3, R.id.dialog_key_z,
			R.id.dialog_key_shanchu3, R.id.dialog_key_queren3, R.id.dialog_key_qiehuan3 };

	private GetIpText getIpText = new GetIpText();

	public keyboradDialog(Context context) {
		super(context);

	}

	@Override
	public void onWindowFocusChanged(boolean hasFocus) {
		// TODO Auto-generated method stub
		super.onWindowFocusChanged(hasFocus);

		Log.i("Log", hasFocus + "--------keyboraddialog----1111111--");

		if (hasFocus && Build.VERSION.SDK_INT >= 19) {
			View decorView = getWindow().getDecorView();
			decorView.setSystemUiVisibility(
					View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
							| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
							| View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
		}
	}

	// @Override
	// protected void onCreate(Bundle savedInstanceState) {
	// super.onCreate(savedInstanceState);
	// setContentView(R.layout.layout_dialog);
	// }

	private void IsChenged(int x) {
		if (x == 0) {
			setContentView(R.layout.dialog_keyboard);
			for (int i = 0; i < ids.length; i++) {
				xButtons[i] = (Button) findViewById(ids[i]);
				xButtons[i].setOnClickListener(this);
			}
		} else if (x == 1) {
			setContentView(R.layout.dialog_keyboard2);
			for (int i = 0; i < ids.length; i++) {
				yButtons[i] = (Button) findViewById(id2s[i]);
				yButtons[i].setOnClickListener(this);
			}
		} else if (x == 2) {
			setContentView(R.layout.dialog_keyboard3);
			for (int i = 0; i < ids.length; i++) {
				zButtons[i] = (Button) findViewById(id3s[i]);
				zButtons[i].setOnClickListener(this);
			}
		}
	}

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);

		IsChenged(0);

	}

	@Override
	public void show() {
		super.show();
		/**
		 * 设置宽度全屏,要设置在show的后面
		 */

		LayoutParams layoutParams = getWindow().getAttributes();
		layoutParams.gravity = Gravity.BOTTOM;
		layoutParams.width = LayoutParams.MATCH_PARENT;
		// layoutParams.height= LayoutParams.WRAP_CONTENT;
		layoutParams.height = getWindow().getWindowManager().getDefaultDisplay().getHeight() / 2;

		getWindow().getDecorView().setPadding(0, 10, 0, 0);

		getWindow().setAttributes(layoutParams);
		// 设置背景透明度,0~1.0 默认0.5
		getWindow().setDimAmount(0.2f);

	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.dialog_key_qiehuan1:
			IsChenged(1);
			Log.i("Log", "切换被点击");
			break;
		case R.id.dialog_key_qiehuan2:
			IsChenged(2);
			Log.i("Log", "切换被点击");
			break;
		case R.id.dialog_key_qiehuan3:
			IsChenged(0);

			Log.i("Log", "切换被点击");
			break;

		case R.id.dialog_key_beiyong1:
			getIpText.getKeyBoardtext("40");

			Log.i("Log", "备用1 被点击");
			break;
		case R.id.dialog_key_beiyong2:
			getIpText.getKeyBoardtext("41");

			Log.i("Log", "备用2 被点击");
			break;
		case R.id.dialog_key_zero:
			getIpText.getKeyBoardtext("50");

			Log.i("Log", "数字0 被点击");
			break;
		case R.id.dialog_key_xing:
			getIpText.getKeyBoardtext("51");

			Log.i("Log", "数字* 被点击");
			break;
		case R.id.dialog_key_chehao:
			getIpText.getKeyBoardtext("52");

			Log.i("Log", "车号/# 被点击");
			break;
		case R.id.dialog_key_one:
			getIpText.getKeyBoardtext("53");

			Log.i("Log", "数字1 被点击");
			break;
		case R.id.dialog_key_two:
			getIpText.getKeyBoardtext("54");

			Log.i("Log", "数字2 被点击");
			break;
		case R.id.dialog_key_three:
			getIpText.getKeyBoardtext("55");

			Log.i("Log", "数字3 被点击");
			break;
		case R.id.dialog_key_four:
			getIpText.getKeyBoardtext("56");

			Log.i("Log", "数字4 被点击");
			break;
		case R.id.dialog_key_five:
			getIpText.getKeyBoardtext("57");

			Log.i("Log", "数字5 被点击");
			break;
		case R.id.dialog_key_six:
			getIpText.getKeyBoardtext("58");

			Log.i("Log", "数字6 被点击");
			break;
		case R.id.dialog_key_seven:
			getIpText.getKeyBoardtext("59");

			Log.i("Log", "数字7 被点击");
			break;
		case R.id.dialog_key_eight:
			getIpText.getKeyBoardtext("60");

			Log.i("Log", "数字8被点击");
			break;
		case R.id.dialog_key_nine:
			getIpText.getKeyBoardtext("61");

			Log.i("Log", "数字9 被点击");
			break;
		case R.id.dialog_key_xiaban:
			getIpText.getKeyBoardtext("71");

			Log.i("Log", "下班  被点击");
			break;
		case R.id.dialog_key_zhong:
			getIpText.getKeyBoardtext("72");

			Log.i("Log", "中班被点击");
			break;
		case R.id.dialog_key_wan:
			getIpText.getKeyBoardtext("73");

			Log.i("Log", "晚班被点击");
			break;
		case R.id.dialog_key_ye:
			getIpText.getKeyBoardtext("74");

			Log.i("Log", "夜班被点击");
			break;
		case R.id.dialog_key_xiugai:
			getIpText.getKeyBoardtext("75");

			Log.i("Log", "修改 被点击");
			break;
		case R.id.dialog_key_fei:
			getIpText.getKeyBoardtext("76");

			Log.i("Log", "废票 被点击");
			break;
		case R.id.dialog_key_shanchu:
			getIpText.getKeyBoardtext("77");

			Log.i("Log", "删除 被点击");
			break;
		case R.id.dialog_key_taigan:
			getIpText.getKeyBoardtext("78");

			Log.i("Log", "抬杆 被点击");
			break;
		case R.id.dialog_key_zao:
			getIpText.getKeyBoardtext("79");

			Log.i("Log", "早班被点击");
			break;

		case R.id.dialog_key_fenli:
			getIpText.getKeyBoardtext("80");

			Log.i("Log", "分离 被点击");
			break;
		case R.id.dialog_key_hebing:
			getIpText.getKeyBoardtext("81");

			Log.i("Log", "合并 被点击");
			break;
		case R.id.dialog_key_chepai:
			getIpText.getKeyBoardtext("82");

			Log.i("Log", "车牌 被点击");
			break;
		case R.id.dialog_key_luogan:
			getIpText.getKeyBoardtext("83");

			Log.i("Log", "落杆 被点击");
			break;
		case R.id.dialog_key_junche:
			getIpText.getKeyBoardtext("84");

			Log.i("Log", "军车 被点击");
			break;
		case R.id.dialog_key_lvtong:
			getIpText.getKeyBoardtext("85");

			Log.i("Log", "绿通 被点击");
			break;
		case R.id.dialog_key_chuangdao:
			getIpText.getKeyBoardtext("86");

			Log.i("Log", "闯到 被点击");
			break;
		case R.id.dialog_key_quxiao:
			getIpText.getKeyBoardtext("87");

			Log.i("Log", "取消 被点击");
			break;
		case R.id.dialog_key_silei:
			getIpText.getKeyBoardtext("88");

			Log.i("Log", "四类 被点击");
			break;
		case R.id.dialog_key_wulei:
			getIpText.getKeyBoardtext("89");

			Log.i("Log", "五类 被点击");
			break;
		case R.id.dialog_key_yuepiao:
			getIpText.getKeyBoardtext("90");

			Log.i("Log", "月票 被点击");
			break;
		case R.id.dialog_key_yilei:
			getIpText.getKeyBoardtext("91");

			Log.i("Log", "一类 被点击");
			break;
		case R.id.dialog_key_erlei:
			getIpText.getKeyBoardtext("92");

			Log.i("Log", "二类 被点击");
			break;
		case R.id.dialog_key_sanlei:
			getIpText.getKeyBoardtext("93");

			Log.i("Log", "三类 被点击");
			break;
		case R.id.dialog_key_queren:
			getIpText.getKeyBoardtext("99");

			Log.i("Log", "确认 被点击");
			break;

		case R.id.dialog_key_beijing:
			getIpText.getJianjieKeyBoardtext("京");
			Log.i("Log", "京 被点击");
			break;
		case R.id.dialog_key_tianjin:
			getIpText.getJianjieKeyBoardtext("津");
			Log.i("Log", "津 被点击");
			break;
		case R.id.dialog_key_hebei:
			getIpText.getJianjieKeyBoardtext("冀");
			Log.i("Log", "冀 被点击");
			break;
		case R.id.dialog_key_shanxi:
			getIpText.getJianjieKeyBoardtext("晋");
			Log.i("Log", "晋 被点击");
			break;
		case R.id.dialog_key_neimenggu:
			getIpText.getJianjieKeyBoardtext("蒙");
			Log.i("Log", "蒙 被点击");
			break;
		case R.id.dialog_key_liaoning:
			getIpText.getJianjieKeyBoardtext("辽");
			Log.i("Log", "辽 被点击");
			break;
		case R.id.dialog_key_jilin:
			getIpText.getJianjieKeyBoardtext("吉");
			Log.i("Log", "吉 被点击");
			break;
		case R.id.dialog_key_heilongjiang:
			getIpText.getJianjieKeyBoardtext("黑");
			Log.i("Log", "黑 被点击");
			break;
		case R.id.dialog_key_shanghai:
			getIpText.getJianjieKeyBoardtext("沪");
			Log.i("Log", "沪 被点击");
			break;
		case R.id.dialog_key_jiangsu:
			getIpText.getJianjieKeyBoardtext("苏");
			Log.i("Log", "苏 被点击");
			break;
		case R.id.dialog_key_zhejiang:
			getIpText.getJianjieKeyBoardtext("浙");
			Log.i("Log", "浙 被点击");
			break;
		case R.id.dialog_key_anhui:
			getIpText.getJianjieKeyBoardtext("皖");
			Log.i("Log", "皖 被点击");
			break;
		case R.id.dialog_key_fujian:
			getIpText.getJianjieKeyBoardtext("闽");
			Log.i("Log", "闽 被点击");
			break;
		case R.id.dialog_key_jiangxi:
			getIpText.getJianjieKeyBoardtext("赣");
			Log.i("Log", "赣 被点击");
			break;
		case R.id.dialog_key_shandong:
			getIpText.getJianjieKeyBoardtext("鲁");
			Log.i("Log", "鲁 被点击");
			break;
		case R.id.dialog_key_henan:
			getIpText.getJianjieKeyBoardtext("豫");
			Log.i("Log", "豫 被点击");
			break;
		case R.id.dialog_key_hubei:
			getIpText.getJianjieKeyBoardtext("鄂");
			Log.i("Log", "鄂 被点击");
			break;
		case R.id.dialog_key_hunan:
			getIpText.getJianjieKeyBoardtext("湘");
			Log.i("Log", "湘  被点击");
			break;
		case R.id.dialog_key_guangdong:
			getIpText.getJianjieKeyBoardtext("粤");
			Log.i("Log", "粤 被点击");
			break;
		case R.id.dialog_key_guangxi:
			getIpText.getJianjieKeyBoardtext("桂");
			Log.i("Log", "桂 被点击");
			break;
		case R.id.dialog_key_hainan:
			getIpText.getJianjieKeyBoardtext("琼");
			Log.i("Log", "琼 被点击");
			break;
		case R.id.dialog_key_chongqing:
			getIpText.getJianjieKeyBoardtext("渝");
			Log.i("Log", "渝 被点击");
			break;
		case R.id.dialog_key_sichuan:
			getIpText.getJianjieKeyBoardtext("川");
			Log.i("Log", "川 被点击");
			break;
		case R.id.dialog_key_guizhou:
			getIpText.getJianjieKeyBoardtext("黔");
			Log.i("Log", "黔 被点击");
			break;
		case R.id.dialog_key_yunnan:
			getIpText.getJianjieKeyBoardtext("滇");
			Log.i("Log", "滇 被点击");
			break;
		case R.id.dialog_key_xizang:
			getIpText.getJianjieKeyBoardtext("藏");
			Log.i("Log", "藏 被点击");
			break;

		case R.id.dialog_key_shanxixian:
			getIpText.getJianjieKeyBoardtext("陕");
			Log.i("Log", "陕 被点击");
			break;
		case R.id.dialog_key_gansu:
			getIpText.getJianjieKeyBoardtext("甘");
			Log.i("Log", "甘 被点击");
			break;
		case R.id.dialog_key_qinghai:
			getIpText.getJianjieKeyBoardtext("青");
			Log.i("Log", "青 被点击");
			break;
		case R.id.dialog_key_ningxia:
			getIpText.getJianjieKeyBoardtext("宁");
			Log.i("Log", "宁 被点击");
			break;
		case R.id.dialog_key_xinjiang:
			getIpText.getJianjieKeyBoardtext("新");
			Log.i("Log", "新 被点击");
			break;
		case R.id.dialog_key_taiwan:
			getIpText.getJianjieKeyBoardtext("台");
			Log.i("Log", "台 被点击");
			break;
		case R.id.dialog_key_xianggang:
			getIpText.getJianjieKeyBoardtext("港");
			Log.i("Log", "港 被点击");
			break;
		case R.id.dialog_key_aomen:
			getIpText.getJianjieKeyBoardtext("澳");
			Log.i("Log", "澳 被点击");
			break;
		case R.id.dialog_key_quxiao2:
			getIpText.getJianjieKeyBoardtext("军");
			Log.i("Log", "军 被点击");
			break;
		case R.id.dialog_key_shanchu2:
			getIpText.getJianjieKeyBoardtext("警");
			Log.i("Log", "警 被点击");
			break;
		case R.id.dialog_key_xiugai2:
			getIpText.getJianjieKeyBoardtext("使");
			Log.i("Log", "使 被点击");
			break;
		case R.id.dialog_key_queren2:
			IsChenged(2);
			Log.i("Log", "确认被点击");
			break;

		case R.id.dialog_key_zero3:
			getIpText.getZimuKeyBoardtext("0");

			Log.i("Log", "数字0 被点击");
			break;

		case R.id.dialog_key_one3:
			getIpText.getZimuKeyBoardtext("1");

			Log.i("Log", "数字1 被点击");
			break;
		case R.id.dialog_key_two3:
			getIpText.getZimuKeyBoardtext("2");

			Log.i("Log", "数字2 被点击");
			break;
		case R.id.dialog_key_three3:
			getIpText.getZimuKeyBoardtext("3");

			Log.i("Log", "数字3 被点击");
			break;
		case R.id.dialog_key_four3:
			getIpText.getZimuKeyBoardtext("4");

			Log.i("Log", "数字4 被点击");
			break;
		case R.id.dialog_key_five3:
			getIpText.getZimuKeyBoardtext("5");

			Log.i("Log", "数字5 被点击");
			break;
		case R.id.dialog_key_six3:
			getIpText.getZimuKeyBoardtext("6");

			Log.i("Log", "数字6 被点击");
			break;
		case R.id.dialog_key_seven3:
			getIpText.getZimuKeyBoardtext("7");

			Log.i("Log", "数字7 被点击");
			break;
		case R.id.dialog_key_eight3:
			getIpText.getZimuKeyBoardtext("8");

			Log.i("Log", "数字8被点击");
			break;
		case R.id.dialog_key_nine3:
			getIpText.getZimuKeyBoardtext("9");

			Log.i("Log", "数字9 被点击");
			break;

		case R.id.dialog_key_a:
			getIpText.getZimuKeyBoardtext("A");

			Log.i("Log", "A  被点击");
			break;
		case R.id.dialog_key_b:
			getIpText.getZimuKeyBoardtext("B");

			Log.i("Log", "B  被点击");
			break;
		case R.id.dialog_key_c:
			getIpText.getZimuKeyBoardtext("C");

			Log.i("Log", "C  被点击");
			break;
		case R.id.dialog_key_d:
			getIpText.getZimuKeyBoardtext("D");

			Log.i("Log", "D  被点击");
			break;
		case R.id.dialog_key_e:
			getIpText.getZimuKeyBoardtext("E");

			Log.i("Log", "E 被点击");
			break;
		case R.id.dialog_key_f:
			getIpText.getZimuKeyBoardtext("F");
			Log.i("Log", "F 被点击");
			break;
		case R.id.dialog_key_g:
			getIpText.getZimuKeyBoardtext("G");

			Log.i("Log", "G 被点击");
			break;

		case R.id.dialog_key_h:
			getIpText.getZimuKeyBoardtext("H");

			Log.i("Log", "H 被点击");
			break;
		case R.id.dialog_key_i:
			getIpText.getZimuKeyBoardtext("I");

			Log.i("Log", "I  被点击");
			break;

		case R.id.dialog_key_j:
			getIpText.getZimuKeyBoardtext("J");

			Log.i("Log", "J 被点击");
			break;
		case R.id.dialog_key_k:
			getIpText.getZimuKeyBoardtext("K");

			Log.i("Log", "K 被点击");
			break;
		case R.id.dialog_key_l:
			getIpText.getZimuKeyBoardtext("L");

			Log.i("Log", "L 被点击");
			break;
		case R.id.dialog_key_m:
			getIpText.getZimuKeyBoardtext("M");

			Log.i("Log", "M 被点击");
			break;
		case R.id.dialog_key_n:
			getIpText.getZimuKeyBoardtext("N");

			Log.i("Log", "N 被点击");
			break;
		case R.id.dialog_key_o:
			getIpText.getZimuKeyBoardtext("O");

			Log.i("Log", "O 被点击");
			break;
		case R.id.dialog_key_p:
			getIpText.getZimuKeyBoardtext("P");

			Log.i("Log", "P 被点击");
			break;
		case R.id.dialog_key_q:
			getIpText.getZimuKeyBoardtext("Q");

			Log.i("Log", "Q 被点击");
			break;
		case R.id.dialog_key_r:
			getIpText.getZimuKeyBoardtext("R");

			Log.i("Log", "R 被点击");
			break;
		case R.id.dialog_key_s:
			getIpText.getZimuKeyBoardtext("S");

			Log.i("Log", "S 被点击");
			break;
		case R.id.dialog_key_t:
			getIpText.getZimuKeyBoardtext("T");

			Log.i("Log", "T 被点击");
			break;
		case R.id.dialog_key_u:
			getIpText.getZimuKeyBoardtext("U");

			Log.i("Log", "U 被点击");
			break;
		case R.id.dialog_key_v:
			getIpText.getZimuKeyBoardtext("V");

			Log.i("Log", "V 被点击");
			break;
		case R.id.dialog_key_w:
			getIpText.getZimuKeyBoardtext("W");

			Log.i("Log", "W 被点击");
			break;
		case R.id.dialog_key_x:
			getIpText.getZimuKeyBoardtext("X");

			Log.i("Log", "X 被点击");
			break;
		case R.id.dialog_key_y:
			getIpText.getZimuKeyBoardtext("Y");

			Log.i("Log", "Y 被点击");
			break;
		case R.id.dialog_key_z:
			getIpText.getZimuKeyBoardtext("Z");

			Log.i("Log", "Z 被点击");
			break;
		case R.id.dialog_key_shanchu3:
			getIpText.getZimuKeyBoardtext("删除");

			Log.i("Log", "删除 被点击");
			break;
		case R.id.dialog_key_queren3:
			IsChenged(0);
			Log.i("Log", "确认 被点击");
			break;

		}
	}

}

 keyboradDialog.java 类中到的三个布局文件  dialog_keyboard.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
<!--  android:background="#CCCCE8CF" -->
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="7"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/dialog_key_line1"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_zao"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="早"
                />

            <Button
                android:id="@+id/dialog_key_zhong"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="中/卡号"
                />

            <Button
                android:id="@+id/dialog_key_wan"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="晚"
                 />

            <Button
                android:id="@+id/dialog_key_ye"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="夜/大件"
                 />

            <Button
                android:id="@+id/dialog_key_xiugai"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="修改"
                 />

            <Button
                android:id="@+id/dialog_key_fei"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="废票/恢复"
                />

            <Button
                android:id="@+id/dialog_key_shanchu"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="模拟/删除" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dialog_key_line2"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_xiaban"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="下班"
                />

            <Button
                android:id="@+id/dialog_key_seven"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="7" />

            <Button
                android:id="@+id/dialog_key_eight"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="8" />

            <Button
                android:id="@+id/dialog_key_nine"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="9" />

            <Button
                android:id="@+id/dialog_key_fenli"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="分离" />

            <Button
                android:id="@+id/dialog_key_hebing"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="合并" />

            <Button
                android:id="@+id/dialog_key_chepai"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="车牌" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dialog_key_line3"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_beiyong1"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="备用1"
                 />

            <Button
                android:id="@+id/dialog_key_four"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="4" />

            <Button
                android:id="@+id/dialog_key_five"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="5" />

            <Button
                android:id="@+id/dialog_key_six"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="6" />

            <Button
                android:id="@+id/dialog_key_junche"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="军车" />

            <Button
                android:id="@+id/dialog_key_lvtong"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="绿通" />

            <Button
                android:id="@+id/dialog_key_chuangdao"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="闯道" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dialog_key_line4"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_beiyong2"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="备用2"
                />

            <Button
                android:id="@+id/dialog_key_one"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="1" />

            <Button
                android:id="@+id/dialog_key_two"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="2" />

            <Button
                android:id="@+id/dialog_key_three"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="3" />

            <Button
                android:id="@+id/dialog_key_silei"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="四类" />

            <Button
                android:id="@+id/dialog_key_wulei"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="五类" />

            <Button
                android:id="@+id/dialog_key_yuepiao"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="月票" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dialog_key_line5"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_qiehuan1"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="切换" />

            <Button
                android:id="@+id/dialog_key_zero"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="0三轮"
                android:textSize="14sp" />

            <Button
                android:id="@+id/dialog_key_xing"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="*" />

            <Button
                android:id="@+id/dialog_key_chehao"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="车号" />

            <Button
                android:id="@+id/dialog_key_yilei"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="一类" />

            <Button
                android:id="@+id/dialog_key_erlei"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="二类" />

            <Button
                android:id="@+id/dialog_key_sanlei"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="三类" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_taigan"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:text="抬杆" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" >

            <Button
                android:id="@+id/dialog_key_luogan"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:text="落杆" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" >

            <Button
                android:id="@+id/dialog_key_quxiao"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:text="取消" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="2" >

            <Button
                android:id="@+id/dialog_key_queren"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:text="确认"
                android:textSize="18sp" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>
dialog_keyboard2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
<!--  android:background="#CCCCE8CF" -->
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="7"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/dialog_key_line1"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_xianggang"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="港"
                />

            <Button
                android:id="@+id/dialog_key_beijing"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="京"
                />

            <Button
                android:id="@+id/dialog_key_tianjin"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="津"
                 />

            <Button
                android:id="@+id/dialog_key_hebei"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="冀"
                 />

            <Button
                android:id="@+id/dialog_key_shanxi"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="晋"
                 />

            <Button
                android:id="@+id/dialog_key_neimenggu"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="蒙"
                />

            <Button
                android:id="@+id/dialog_key_liaoning"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="辽" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dialog_key_line2"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >
 <Button
                android:id="@+id/dialog_key_aomen"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="澳"
                />
            

            <Button
                android:id="@+id/dialog_key_jilin"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="吉" />

            <Button
                android:id="@+id/dialog_key_heilongjiang"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="黑" />

            <Button
                android:id="@+id/dialog_key_shanghai"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="沪" />

            <Button
                android:id="@+id/dialog_key_jiangsu"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="苏" />

            <Button
                android:id="@+id/dialog_key_zhejiang"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="浙" />

            <Button
                android:id="@+id/dialog_key_anhui"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="皖" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dialog_key_line3"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

           
            <Button
                android:id="@+id/dialog_key_taiwan"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="台"
                />

            <Button
                android:id="@+id/dialog_key_fujian"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="闽" />

            <Button
                android:id="@+id/dialog_key_jiangxi"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="赣" />

            <Button
                android:id="@+id/dialog_key_shandong"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="鲁" />

            <Button
                android:id="@+id/dialog_key_henan"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="豫" />

            <Button
                android:id="@+id/dialog_key_hubei"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="鄂" />

            <Button
                android:id="@+id/dialog_key_hunan"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="湘" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dialog_key_line4"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_xinjiang"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="新"
                 />

            <Button
                android:id="@+id/dialog_key_guangdong"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="粤" />

            <Button
                android:id="@+id/dialog_key_guangxi"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="桂" />

            <Button
                android:id="@+id/dialog_key_hainan"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="琼" />

            <Button
                android:id="@+id/dialog_key_chongqing"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="渝" />

            <Button
                android:id="@+id/dialog_key_sichuan"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="川" />

            <Button
                android:id="@+id/dialog_key_guizhou"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="黔" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dialog_key_line5"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_qiehuan2"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="切换" />

            <Button
                android:id="@+id/dialog_key_yunnan"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="滇"
                android:textSize="14sp" />

            <Button
                android:id="@+id/dialog_key_xizang"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="藏" />

            <Button
                android:id="@+id/dialog_key_shanxixian"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="陕" />

            <Button
                android:id="@+id/dialog_key_gansu"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="甘" />

            <Button
                android:id="@+id/dialog_key_qinghai"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="青" />

            <Button
                android:id="@+id/dialog_key_ningxia"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="宁" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_quxiao2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:text="军" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" >

            <Button
                android:id="@+id/dialog_key_xiugai2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:text="警" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" >

            <Button
                android:id="@+id/dialog_key_shanchu2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:text="使" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="2" >

            <Button
                android:id="@+id/dialog_key_queren2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-6dp"
                android:layout_marginTop="-3dp"
                android:text="确认"
                android:textSize="18sp" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>
dialog_keyboard3.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <!-- android:background="#CCCCE8CF" -->

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="7"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/dialog_key_line1"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_one3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="1" />

            <Button
                android:id="@+id/dialog_key_two3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="2" />

            <Button
                android:id="@+id/dialog_key_three3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="3" />

            <Button
                android:id="@+id/dialog_key_four3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="4" />

            <Button
                android:id="@+id/dialog_key_five3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="5" />

            <Button
                android:id="@+id/dialog_key_six3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="6" />

            <Button
                android:id="@+id/dialog_key_seven3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="7" />

            <Button
                android:id="@+id/dialog_key_eight3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="8" />

            <Button
                android:id="@+id/dialog_key_nine3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="9" />

            <Button
                android:id="@+id/dialog_key_zero3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="0" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_q"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="Q" />

            <Button
                android:id="@+id/dialog_key_w"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="W" />

            <Button
                android:id="@+id/dialog_key_e"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="E" />

            <Button
                android:id="@+id/dialog_key_r"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="R" />

            <Button
                android:id="@+id/dialog_key_t"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="T" />

            <Button
                android:id="@+id/dialog_key_y"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="Y" />

            <Button
                android:id="@+id/dialog_key_u"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="U" />

            <Button
                android:id="@+id/dialog_key_i"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="I" />

            <Button
                android:id="@+id/dialog_key_o"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="O" />

            <Button
                android:id="@+id/dialog_key_p"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="P" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.6"
                android:text="" />

            <Button
                android:id="@+id/dialog_key_a"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="A" />

            <Button
                android:id="@+id/dialog_key_s"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="S" />

            <Button
                android:id="@+id/dialog_key_d"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="D" />

            <Button
                android:id="@+id/dialog_key_f"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="F" />

            <Button
                android:id="@+id/dialog_key_g"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="G" />

            <Button
                android:id="@+id/dialog_key_h"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="H" />

            <Button
                android:id="@+id/dialog_key_j"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="J" />

            <Button
                android:id="@+id/dialog_key_k"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="k" />

            <Button
                android:id="@+id/dialog_key_l"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="L" />

            <Button
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.6"
                android:text="" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dialog_key_line3"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="0.8"
                android:text="" />

            <Button
                android:id="@+id/dialog_key_z"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="Z" />

            <Button
                android:id="@+id/dialog_key_x"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="X" />

            <Button
                android:id="@+id/dialog_key_c"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="C" />

            <Button
                android:id="@+id/dialog_key_v"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="V" />

            <Button
                android:id="@+id/dialog_key_b"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="B" />

            <Button
                android:id="@+id/dialog_key_n"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="N" />

            <Button
                android:id="@+id/dialog_key_m"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="M" />

            <Button
                android:id="@+id/dialog_key_shanchu3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginLeft="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="2"
                android:text="删除" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/dialog_key_qiehuan3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="1"
                android:text="切换" />

            <Button
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="3"
                android:text="" />

            <Button
                android:id="@+id/dialog_key_queren3"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_marginBottom="-3dp"
                android:layout_marginTop="-3dp"
                android:layout_weight="2"
                android:text="确认" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>
BaseInterfaceAct.java

public interface BaseInterfaceAct {

	public void initViews() ;
	public void initDatas() ;
	public void initViewOper() ;
	public void IpText(String string);
	public void ServerText(String string);
	public void KeyBoardText(String string);
	public void JianchengKeyBoardText(String string);
	public void ZimuKeyBoardText(String string);



}
GetIpText.java

import android.util.Log;

import com.ceshi.ceshi.base.BaseActivity;
import com.ceshi.ceshi.base.BaseInterfaceAct;

import java.util.ArrayList;
import java.util.List;


public class GetIpText implements GetData {

	private static List<BaseInterfaceAct> list = new ArrayList<BaseInterfaceAct>();
	private static List<BaseActivity> listact = new ArrayList<BaseActivity>();

	@Override
	public void addBaseInterfaceAct(BaseInterfaceAct baseInterfaceAct,BaseActivity baseActivity) {
		// TODO Auto-generated method stub
		list.add(baseInterfaceAct);
		listact.add(baseActivity);
	}

	@Override
	public void removeBaseInterfaceAct(BaseInterfaceAct baseInterfaceAct) {
		// TODO Auto-generated method stub

		list.remove(baseInterfaceAct);
	}

	@Override
	public void notifyBaseInterfaceAct(String string) {
		// TODO Auto-generated method stub
		for (int i = 0; i < list.size(); i++) {
			list.get(i).IpText(string);

		}

	}
	public void notifyBaseInterfaceActfromserver(String string) {
		// TODO Auto-generated method stub
		Log.i("Log","string===aaaaaaa==="+"==="+string);
		Log.i("Log","list.size()"+"==="+list.size());
		for (int i = 0; i < list.size(); i++) {
			Log.i("Log","string==111111===="+i+"==="+string);
			list.get(i).ServerText(string);
			Log.i("Log","string==222222222==="+i+"==="+string);
		}

	}

	public void getIPtext(String string) {

		notifyBaseInterfaceAct(string);

	}
	
	public void getServertext(String string) {

		Log.i("Log","string======"+string);
		notifyBaseInterfaceActfromserver(string);

	}


	public void getKeyBoardtext(String string){
		notifyBaseInterfaceActofKeyBoard(string);
	}
	public void getJianjieKeyBoardtext(String string){
		notifyBaseInterfaceActofJianchengKeyBoard(string);
	}
	public void getZimuKeyBoardtext(String string){
		notifyBaseInterfaceActofZimuKeyBoard(string);
	}

	private void notifyBaseInterfaceActofKeyBoard(String string) {
		// TODO Auto-generated method stub
		
		for (int i = 0; i < list.size(); i++) {
			list.get(i).KeyBoardText(string);

		}
	}
	private void notifyBaseInterfaceActofJianchengKeyBoard(String string) {
		// TODO Auto-generated method stub
		
		for (int i = 0; i < list.size(); i++) {
			list.get(i).JianchengKeyBoardText(string);
			
		}
	}
	private void notifyBaseInterfaceActofZimuKeyBoard(String string) {
		// TODO Auto-generated method stub
		
		for (int i = 0; i < list.size(); i++) {
			list.get(i).ZimuKeyBoardText(string);
			
		}
	}


	public void StopApp(){
		for (int i = 0; i < listact.size(); i++) {
			listact.get(i).finish();

		}
	}

}
GetData.java
import com.ceshi.ceshi.base.BaseActivity;
import com.ceshi.ceshi.base.BaseInterfaceAct;

public interface GetData {

	public void addBaseInterfaceAct(BaseInterfaceAct BaseInterfaceAct, BaseActivity baseActivity);
	public void notifyBaseInterfaceAct(String string);
	public void removeBaseInterfaceAct(BaseInterfaceAct BaseInterfaceAct);
}
BaseInterfaceAct.java
public interface BaseInterfaceAct {

	public void initViews() ;
	public void initDatas() ;
	public void initViewOper() ;
	public void IpText(String string);
	public void ServerText(String string);
	public void KeyBoardText(String string);
	public void JianchengKeyBoardText(String string);
	public void ZimuKeyBoardText(String string);



}
BaseActivity.java  是自定义的一个activity 子类。我所有的activity都继承这个BaseActivity
UserMyKeyboard.java
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;

import com.ceshi.ceshi.R;
import com.ceshi.ceshi.base.BaseActivity;
import com.ceshi.ceshi.base.BaseInterfaceAct;

import org.w3c.dom.Text;

import androidx.annotation.Nullable;

/**
 * 项目
 * <p>
 * 作者:张跃华
 *
 * @date :2020/4/13 9:57
 * @description: 类说明
 */
public class UserMyKeyboard extends BaseActivity implements BaseInterfaceAct {


    private EditText ed;
    private TextView back;

    GetIpText getIpText = new GetIpText();

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_act_usermykeyboard);
        getIpText.addBaseInterfaceAct(UserMyKeyboard.this, UserMyKeyboard.this);
        initViews();
        initDatas();
        initViewOper();

    }

    @Override
    public void initViews() {
        ed = findViewById(R.id.activity_usekeyboard_ed);
        back = findViewById(R.id.activity_usekeyboard_back_tv);

    }

    @Override
    public void initDatas() {

        ed.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                CloseKeyboard();
                keyboradDialog dialog = new keyboradDialog(UserMyKeyboard.this);
                dialog.show();
//                startActivity(new Intent(getAct(), KeyboardActivity.class));
            }
        });

    }

    @Override
    public void initViewOper() {

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

    // 关闭输入弹出框
    private void CloseKeyboard() {
        InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        im.hideSoftInputFromWindow(getCurrentFocus().getApplicationWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }

    @Override
    public void IpText(String string) {

    }

    @Override
    public void ServerText(String string) {

    }

    @Override
    public void KeyBoardText(String string) {

        Log.i("Log", "--------" + string);

        ed.setText(string);

    }

    @Override
    public void JianchengKeyBoardText(String string) {
        Log.i("Log", string);
        ed.setText(string);
    }

    @Override
    public void ZimuKeyBoardText(String string) {
        Log.i("Log", string);
        ed.setText(string);
    }
}

 activity_act_usermykeyboard.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="70dp"
        android:layout_height="50dp"
        android:text="返回"
        android:gravity="center"
        android:id="@+id/activity_usekeyboard_back_tv"
        />
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_marginTop="20dp"
        android:id="@+id/activity_usekeyboard_ed"
        />

</LinearLayout>
 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值