【Android系统】拨号app
大部分还看不懂,只记录接触到的一些
Android N 通话界面_InCallActivity_Yigit_dev的博客-CSDN博客
android N 拨打电话流程(MO)_Yigit_dev的博客-CSDN博客
-------------------------------------
平板上去掉了一些ui的功能------------
打电话的ui对应的activity是com.android.incallui.InCallActivity里面是fragment组成的界面,看call_card_fragment.xml里面的一些按钮,看callButtonFragment.java-----------
去掉了一些按钮,直接把按钮数量设为了0代码里面检测按钮数量,然后显示预设个数,多余的折叠起来,有一个回调函数updateButtonStates (我说怎么在xml里面设置visibility没有用!!)改没改几行代码,看看试试了大半天其他的不写了,代码很多没看过
diff --git a/packages/apps/Dialer/InCallUI/res/layout-w500dp-land/call_card_fragment.xml b/packages/apps/Dialer/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
index 4d59cb7..60b4732 100644
--- a/packages/apps/Dialer/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
+++ b/packages/apps/Dialer/InCallUI/res/layout-w500dp-land/call_card_fragment.xml
@@ -98,7 +98,7 @@<!-- Call recorder infor --><RelativeLayout
- android:layout_width="wrap_content"
+ android:layout_width="200dp"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_alignParentLeft="true">
@@ -159,7 +159,7 @@<LinearLayoutandroid:id="@+id/primary_call_info_container"android:layout_alignParentStart="true"
- android:layout_width="wrap_content"
+ android:layout_width="1024dp"android:layout_height="match_parent"android:layout_above="@id/secondary_call_info"android:orientation="vertical"
@@ -199,16 +199,16 @@<!-- Margin left and centerHorizontal don't work well together, so use a Space instead. --><Spaceandroid:id="@+id/floating_end_call_action_button_margin_left"
- android:layout_width="@dimen/end_call_button_margin_left"
+ android:layout_width="@dimen/end_call_button_margin_left"android:layout_height="wrap_content"
- android:layout_centerHorizontal="true" />
+ android:layout_marginStart="480dp" /><FrameLayoutandroid:id="@+id/floating_end_call_action_button_container"android:layout_width="@dimen/end_call_floating_action_button_diameter"android:layout_height="@dimen/end_call_floating_action_button_diameter"android:background="@drawable/fab_red"
- android:layout_toRightOf="@id/floating_end_call_action_button_margin_left"
+ android:layout_toRightOf="@id/floating_end_call_action_button_margin_left"android:layout_alignParentBottom="true"android:layout_marginBottom="@dimen/end_call_button_margin_bottom"><ImageButton android:id="@+id/floating_end_call_action_button"
diff --git a/packages/apps/Dialer/InCallUI/res/layout/call_button_fragment.xml b/packages/apps/Dialer/InCallUI/res/layout/call_button_fragment.xml
index 3bc306e..d96bb1e 100644
--- a/packages/apps/Dialer/InCallUI/res/layout/call_button_fragment.xml
+++ b/packages/apps/Dialer/InCallUI/res/layout/call_button_fragment.xml
@@ -83,6 +83,7 @@<ToggleButton android:id="@+id/dialpadButton"style="@style/InCallCompoundButton"android:background="@drawable/btn_compound_dialpad"
+ android:visibility="invisible"android:contentDescription="@string/onscreenShowDialpadText_unselected" /><!-- MIDDLE RIGHT SLOT ================================================================= -->
diff --git a/packages/apps/Dialer/InCallUI/res/layout/call_card_fragment.xml b/packages/apps/Dialer/InCallUI/res/layout/call_card_fragment.xml
index 3a1c61d..c877985 100644
--- a/packages/apps/Dialer/InCallUI/res/layout/call_card_fragment.xml
+++ b/packages/apps/Dialer/InCallUI/res/layout/call_card_fragment.xml
@@ -49,9 +49,9 @@<!-- Placeholder for the dialpad which is replaced with the dialpad fragment when shown. --><FrameLayoutandroid:id="@+id/answer_and_dialpad_container"
- android:layout_width="match_parent"
+ android:layout_width="300dp"android:elevation="@dimen/dialpad_elevation"
- android:layout_height="match_parent" />
+ android:layout_height="300dp" /><!-- Secondary "Call info" block, for the background ("on hold") call. --><include layout="@layout/secondary_call_info"
diff --git a/packages/apps/Dialer/InCallUI/res/values-sw410dp/config.xml b/packages/apps/Dialer/InCallUI/res/values-sw410dp/config.xml
index a57f867..7db0dc4 100644
--- a/packages/apps/Dialer/InCallUI/res/values-sw410dp/config.xml
+++ b/packages/apps/Dialer/InCallUI/res/values-sw410dp/config.xml
@@ -17,5 +17,5 @@<resources><!-- Determines the maximum number of buttons visible on the call card. Any buttons over thiscount are put into the overflow menu. -->
- <integer name="call_card_max_buttons">6</integer>
-</resources>
\ No newline at end of file
+ <integer name="call_card_max_buttons">0</integer>
+</resources>
diff --git a/packages/apps/Dialer/InCallUI/res/values-w500dp-land/dimens.xml b/packages/apps/Dialer/InCallUI/res/values-w500dp-land/dimens.xml
index 42b0886..26ffd51 100644
--- a/packages/apps/Dialer/InCallUI/res/values-w500dp-land/dimens.xml
+++ b/packages/apps/Dialer/InCallUI/res/values-w500dp-land/dimens.xml
@@ -33,5 +33,5 @@<dimen name="video_preview_margin">20dp</dimen>- <dimen name="end_call_button_margin_left">50dp</dimen>
+ <dimen name="end_call_button_margin_left">0dp</dimen></resources>
diff --git a/packages/apps/Dialer/InCallUI/res/values/dimens.xml b/packages/apps/Dialer/InCallUI/res/values/dimens.xml
index 357c582..f7160f9 100644
--- a/packages/apps/Dialer/InCallUI/res/values/dimens.xml
+++ b/packages/apps/Dialer/InCallUI/res/values/dimens.xml
@@ -113,7 +113,7 @@<!-- Height of translucent shadow effect --><dimen name="translucent_shadow_height">2dp</dimen>- <dimen name="end_call_button_margin_bottom">2dp</dimen>
+ <dimen name="end_call_button_margin_bottom">155dp</dimen><dimen name="call_card_anim_translate_y_offset">50dp</dimen>diff --git a/packages/apps/Dialer/InCallUI/src/com/android/incallui/CallButtonFragment.java b/packages/apps/Dialer/InCallUI/src/com/android/incallui/CallButtonFragment.java
index 068b9b0..8a7d69b 100755
--- a/packages/apps/Dialer/InCallUI/src/com/android/incallui/CallButtonFragment.java
+++ b/packages/apps/Dialer/InCallUI/src/com/android/incallui/CallButtonFragment.java
@@ -185,6 +185,7 @@ public class CallButtonFragmentmMuteButton.setOnClickListener(this);mShowDialpadButton = (CompoundButton) parent.findViewById(R.id.dialpadButton);mShowDialpadButton.setOnClickListener(this);
+ mShowDialpadButton.setVisibility(View.INVISIBLE);mHoldButton = (CompoundButton) parent.findViewById(R.id.holdButton);mHoldButton.setOnClickListener(this);mSwapButton = (ImageButton) parent.findViewById(R.id.swapButton);
@@ -264,6 +265,7 @@ public class CallButtonFragment} else if (id == R.id.swapButton) {getPresenter().swapClicked();} else if (id == R.id.dialpadButton) {
+ Log.e("QYC", "qyc, dialpad...1111");getPresenter().showDialpadClicked(!mShowDialpadButton.isSelected());} else if (id == R.id.addParticipant) {getPresenter().addParticipantClicked();
@@ -622,19 +624,20 @@ public class CallButtonFragmentbutton.setVisibility(View.VISIBLE);prevVisibleButton = button;prevVisibleId = i;
- } else {
- if (menu == null) {
- menu = getPopupMenu();
- }
+ } else {
+ //qyc
+ //if (menu == null) {
+ // menu = getPopupMenu();
+ //}// Collapse the current button into the overflow menu. If is the first visible// button that exceeds the threshold, also collapse the previous visible button// so that the total number of visible buttons will never exceed the threshold.
- if (prevVisibleButton != null) {
- addToOverflowMenu(prevVisibleId, prevVisibleButton, menu);
- prevVisibleButton = null;
- prevVisibleId = -1;
- }
- addToOverflowMenu(i, button, menu);
+ //if (prevVisibleButton != null) {
+ // addToOverflowMenu(prevVisibleId, prevVisibleButton, menu);
+ // prevVisibleButton = null;
+ // prevVisibleId = -1;
+ // }
+ // addToOverflowMenu(i, button, menu);}} else if (visibility == BUTTON_HIDDEN) {button.setVisibility(View.GONE);
@@ -949,6 +952,8 @@ public class CallButtonFragment: R.string.onscreenShowDialpadText_selected));}}
+
+ mShowDialpadButton.setVisibility(View.INVISIBLE);}@Override
【Android系统】拨号app相关推荐
- android app系统的测试_计算机毕设项目003之基于Android系统的App点餐外送系统
计算机毕设项目之基于Android系统的App点餐外送系统 一. 项目名称 基于Android系统的App点餐外送系统 二. 项目简介 本项目是基于Android系统的手机点餐系统,整个项目分为App ...
- android 优秀app界面设计,基于Android系统的App界面设计.doc
基于Android系统的App界面设计 摘 要:智能手机时代的来临改变了大多数人的生活习惯,时至今日智能手机已经成为了人们工作生活中的一部分,在工作生活中发挥着重要的作用.App作为智能手机应用程序的 ...
- android系统手势app,8种iOS手势规定和14种android手势规定详解
不知道大家对ios系统和android系统的规定的原生手势有哪些吗?看到这样的标题,你能够回答出几个呢? 其实,APP设计师和h5开发工程师对移动设备的手势的了解和理解是非常有必要的.只有掌握了这些平 ...
- 【转】android系统的APP消息推送机制
原文:https://www.jianshu.com/p/f898a2c02b05 参考文章: http://blog.csdn.net/carson_ho/article/details/52862 ...
- Android 系统桌面 App —— Launcher 开发
文章目录 Launcher简介 注册AndroidManifest 使用PackageManager扫描所有app 显示app信息,添加点击事件 Launcher简介 Launcher就是Androi ...
- Android系统中APP安装到手机后的文件分析
一. Android系统APP安装格式 1.1 CAB格式 直接将文件copy到手机里,都可以在手机上执行该CAB文件即可安装. 1.2 EXE格式 EXE格式的程序可分为手机上直接运行(即绿色软件的 ...
- Android 系统级APP 升级方案 按键恢复出厂设置
先敲黑板:(更多内容请关注专栏,支持原创) 概要:本文介绍内容有UBOOT BCB 系统级APP固化到固件 通过UBOOT完成按键触发恢复出厂设置,即恢复系统APP的方案 高质量文章导航 一.坐稳发车 ...
- Android 系统级APP 升级方案 OTA全流程
支持原创,请关注专栏: 高质量文章导航 一.Android ota固件编译 OTA 介绍 OTA ( over the air )升级是 Android 系统提供的标准软件升级方式.它功能强大,提供了 ...
- android系统签名app自动更新,【Android 进阶】Apk 使用系统签名
刚入职的时候,固件中 app 需要在源码中编译,不是很理解,为什么不使用 IDE 编译,然后 copy 到 /system/app/*,咨询导师,得到反馈 app 需要使用系统的权限 在 Androi ...
- 由Asset中的double free引发的Android系统及APP崩溃问题分析
前言 这个问题在来小米之前就遇到并解决过,当时的解决方案与朴老师的初步解决方案一样,本文在之前的初步分析结果之上进一步进行了深入分析,最终得出了当前看起来相对合理并符合原来架构设计的最终方案. 文中引 ...
最新文章
- 【ubuntu+opencv3】ubuntu16.04+qt5+opencv3.2.0编译与安装
- linux ps aux 结果解释
- 安庆机器人编程选_安庆市首届中小学机器人创客竞赛举行 460名选手比智慧拼创新 科技感满满!...
- SAP License:PS十日通-超预算自动邮件提醒功能
- sessionStorage第一次进入页面显示弹窗
- 关于opencv标定的一些疑问,首先声明这篇文章转载于纸异兽,由于暂时联系不到他本人,只好请教各位了。有些问题想请教,各位大神可以留下联系方式帮我解决,万分感谢...
- 树莓派linux虚拟键盘,树莓派raspbian安装matchbox-keyboard虚拟键盘
- 【樽海鞘算法】基于樽海鞘算法求解多目标问题附matlab代码
- 服务器连接电脑显示屏花屏怎么解决,电脑显示器花屏怎么办 电脑显示器花屏解决方法【详解】...
- 如何能从自我怀疑中走出来?
- 车辆出险理赔记录接口文档
- 数据通信与网络:CH5 Analog Transmission
- html中div是什么意思
- CNN表情识别系统制作(1)----fer2013人脸表情数据集简介
- 数据采集:如何使用物联网边缘计算网关采集数据?
- Android Drawable图标生成工具
- LeetCode_Stack_331. Verify Preorder Serialization of a Binary Tree 验证二叉树的前序序列化(Java)【栈,字符串处理】
- 两款简单的拒绝服务攻击工具
- hpuoj 1715: 感恩节KK专场——2015年的第一场雪 (暴力)
- cnn汇总(1)(2)
热门文章
- 计算机科学与技术人工生命,人工生命
- 计算机科学是研究什么学问,计算科学最初被认为是算法的学问,学科的基本问题是算法问题。...
- workFlow学习总结-----------workFlow简介
- 长沙理工计算机竞赛黑马,全国第三!长理紧跟清华、华科成最大黑马!
- 深度学习文献汇总|第四十二期
- Android P SELinux (四) CTS neverallow处理总结
- opencv生成日志_opencv数据写入txt文件
- 英文姓名 格式 结构
- Unity编辑器扩展——通用组件替换工具
- 漏洞复现-electron RCE命令执行CVE-2018-1000006