动态创建拨号键盘:
一 ,
1.1 布局xml文件;(ActionBar,ListView。键盘布局)
1.2 加监听
--1.2.1Actionbar中tvTitle.addTextChangedListener(new TextWatcher(){
if (s.length() > 13) {s.delete(13, s.length());},限制字符长度为13;
--1.2.2 回退按钮的监听
if (title.equals("拨打电话")) { return;}
else if (title.length() == 1) {tvTitle.setText("拨打电话");}
else if (title.length() == 5 || title.length() == 10)
{tvTitle.setText(title.substring(0, title.length() - 2));// 提取子字符串}
1.3 给ListView添加监听
获得CallWee的适配器,显示通话记录;
1.4 为拨打的键盘添加动画:
--1.4.1 anim 文件夹中添加Scale的Xml文件;
--1.4.2 AnimationUtils.loadAnimation(getActivity(), R.anim.scale_dialpad)
--1.4.3// 为relativeLayout添加动画rl.setAnimation(animation);
// 启动动画animation.start();
1.5 用Java添加布局
1.5.1 添加要显示的内容 String keys[] = {};
1.5.2 获得屏幕的尺寸计算出屏幕的宽度;
DisplayMetrics metrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels / 3;
int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 55, metrics);
1.5.3 键盘添加内容
1.5.4 键盘布局
LayoutParams params = new LayoutParams(width, height);
if (i % 3 != 0) {params.addRule(RelativeLayout.RIGHT_OF, i);
1.5.5 按键添加监听;
1.5.6 拨打电话按钮添加监听;
(获取打电话的权限 <uses-permission android:name="android.permission.CALL_PHONE" />
1.6 为按键添加点击音效;
1.6.1 新建raw文件,把音乐源文件放进
1.6.2 新建MidiaManager类,实例化soundPool对象, 封装SoundPool对象播放音效的方法。
setOnLoadCompleteListener(OnLoadCompleteListener listener)
1.6.2.3加载音效 load(Context context, int resId, int priority) {
1.6.2.4 在监听器回调方法中调用Play()播放音效;
1.6.2.5 音效池的释放
1.6.3 为动画添加监听,禁止动画中拨号
在按键的的监听中调用音效播放效果