2013-12-24 16:56:45

有时候可以看到很多手机会将Call log list和Dailer放在同一个页面中,同时Dialer是可以折叠、打开的,自己做了一个Demo,能实现这种效果,简易版的,就当做个笔记吧。

里面用到了简单的动画,不过布局稍显特殊。

废话不多说,直接上代码:

 public class TestActivity extends Activity implements
Animation.AnimationListener { private ListView mListView; private Animation mDialpadOutAnim;
private Animation mDialpadInAnim;
private View mDialpad;
private View mTwelveKey;
private boolean mClosed; private String[] list; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
mDialpad = findViewById(R.id.dialpad_container);
mListView = (ListView) findViewById(android.R.id.list);
initListView();
} private void initListView() {
int i = 0;
list = new String[10];
StringBuilder sb = new StringBuilder("Test");
do {
list[i] = (sb.append(i + "").toString());
i++;
} while (i < 10);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
mListView.setAdapter(adapter);
} public void onClick(View v) {
if (mClosed) {
maximizeDialpad();
// mListView.setVisibility(View.GONE);
} else {
minimizeDialpad();
}
} private void minimizeDialpad() {
mTwelveKey = findViewById(R.id.twelve_key_dialer_layout);
mDialpadOutAnim = AnimationUtils
.loadAnimation(this, R.anim.dialpad_out);
mDialpadOutAnim.setAnimationListener(this);
mTwelveKey.startAnimation(this.mDialpadOutAnim);
mClosed = true;
} private void maximizeDialpad() {
mTwelveKey = findViewById(R.id.twelve_key_dialer_layout);
mDialpadInAnim = AnimationUtils.loadAnimation(this, R.anim.dialpad_in);
mDialpadInAnim.setAnimationListener(this);
mTwelveKey.startAnimation(this.mDialpadInAnim);
mDialpad.setVisibility(View.VISIBLE);
mClosed = false;
} @Override
public void onAnimationStart(Animation animation) { } @Override
public void onAnimationEnd(Animation animation) {
if (mClosed) {
mDialpad.setVisibility(View.GONE);
}
} @Override
public void onAnimationRepeat(Animation animation) { }
}

其他的布局、资源文件就不贴出来了,有兴趣的直接下载Demo源码吧。

Demo源码,猛戳这里

简易模仿手机拨号盘浮在ListView之上并且展开,折叠效果的更多相关文章

  1. 微信浏览器安卓手机video浮在最上层问题

    微信浏览器安卓手机video浮在最上层问题 //x5-video-player-type="h5" x5-video-player-fullscreen="true&qu ...

  2. Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果

    本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/18311877) 今天还是给大家带来自定义控件的编写,自定义一个Lis ...

  3. UWP 取消GridView、ListView鼠标选中、悬停效果

    因为经常碰到ListView或者ListBox之类的选中.鼠标悬停样式和自己设置的主题颜色不搭,这时就需要改变这些样式了. 而这里我通过ListView来说明,大致思路其实就是重新定义Item的Tem ...

  4. WP8.1 模仿手机通讯记录的选择框

    2016年11月6日 更新: 其实 这个有一个非常简单的方法.非常简单... ListView SelectionMode="Multiple" 这个一XAML  代码就可以解决了 ...

  5. Android:仿手机QQ朋友动态ListView

    1.介绍: 使用此博客XListView模仿Android版本QQ朋友动态ListView效果.效果如下面的截图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...

  6. 读取手机联系人,并用listview显示

    读取手机联系人,用到的就是一个contentprovider. 数据库里面有三张重要的表 raw_contact 里面有所有联系人的数据 data 每个联系人的所有数据 mime-type 每条数据的 ...

  7. 小谈 - web模仿手机打电话与正则表达式

    昨天遇到了一个很棘手的问题,就是手机端调用web端的页面,如果用编辑器插入的内容页面中有电话的的数据就要变一下格式,让手机端可以实现拨号的功能. 研究了半天就是没一点头绪,但是偶尔看到数据中每一个电话 ...

  8. 简易封装手机浏览器touch事件

    做手机开发时候,简单想用一些动作,如touchLeft,touchRight等, 使用其他库文件就要加载很多不必要的东西,流量的浪费 今天简单写了封装touch的库,简单的监听一些逻辑 onTouch ...

  9. 使用火狐浏览器模仿手机浏览器,附浏览器HTTP_USER_AGENT汇总

    HTTP_USER_AGENT用来获取浏览页面的访问者在用什么操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好. 改变浏览器的这个参数就可以伪装成相应的浏览器. User Agent Swit ...

随机推荐

  1. 【Todo】【读书笔记】Java多线程编程指南-设计模式篇

    下了这本书<Java多线程编程指南-设计模式篇>, 还有另一本<JAVA多线程设计模式>,据说内容有重复,结合着看.

  2. 使用bufferevent进行libevent服务端和客户端的开发

    参考了网上的一些例子,实验了基于bufferevent的开发. 首先是服务端: #include <netinet/in.h> #include <sys/socket.h> ...

  3. 3 javascript

    3 javascript javascript基础 html: 负责了一个页面的结构.   css: 负责了一个页面的样式.    javascript: 负责与用户进行交互. 1997年欧洲的计算机 ...

  4. 【转载】【Centos linux系统】命令行(静默)安装oracle 11gR2

    [原文]:http://blog.chinaunix.net/uid-23886490-id-3565998.html 一.安装前准备 1.内存及swap要求 至于swap如何添加,后文将提到 gre ...

  5. [C++]访问控制与继承(public,protect,private) 有时间再整理!!!

    http://www.cnblogs.com/chio/archive/2007/06/11/779408.html http://www.cnblogs.com/SelaSelah/archive/ ...

  6. 转!java设计模式--单例模式

    作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 单例模式的结构 单例模式的特点: 单例类只能有一个实例. 单例类必须自己创建自己的唯一 ...

  7. HEVC编解码优化信息

    hevc解码GPU优化: 1.This GPU acceleration has opened up the possibility of playing a Full-HD (1080p) at 6 ...

  8. 安卓虚拟机启动失败intel haxm未安装

    1:环境是android studio 在AVD中启动显示,提示当前电脑为安装HAXM emulator: ERROR: x86 emulation currently requires hardwa ...

  9. 判断手机连接的是fdd还是tdd的办法

    判断手机连接的是fdd还是tdd的办法http://bbs.ydss.cn/thread-550035-1-1.html移动4G一般都是tdd,联通则可能有tdd,还有可能是fdd,判断手机连接的是t ...

  10. DEDE首页会员部分,后台登陆,会员登录相关页面

    首页会员涉及部分 \templets\default\style\page.css \member\ajax_loginsta.php 会员登录页面涉及部分 \member\templets\inde ...