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. 2 CSS

    2 CSS CSS基础 html 在一个网页中负责的事情是一个页面的结构css(层叠样式表) 在一个网页中主要负责了页面的数据样式. 编写css代码的方式:     第一种: 在style标签中编写c ...

  2. 理解 Linux shell 中的一个方言:2>&1

    理解 Linux shell 中的一个方言:2>&1  2016-11-14 杜亦舒 前言 在使用 linux 命令或者 shell 编程时,这个用法常会遇到 2>&1 如 ...

  3. Oracle数据库和DB2数据库分页SQL的区别举例

    --------------------------ORACLE数据库分页SQL举例------------------------------------------------ SELECT * ...

  4. mac 下基于firebreath 开发多浏览器支持的浏览器插件

    mac 下基于firebreath 开发多浏览器支持的浏览器插件 首先要区分什么是浏览器扩展和浏览器插件;插件可以像本地程序一样做的更多 一. 关于 firebreath http://www.fir ...

  5. Windows高精度时间

    目录 第1章计时    1 1.1 GetTickCount    1 1.2 timeGetTime    1 1.3 QueryPerformanceCounter    1 1.4 测试     ...

  6. VirtualBox相关问题总结

    欢迎关注我的社交账号: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://gith ...

  7. 【BZOJ 2243】染色 - 树链剖分+线段树

    #include <cstdio> #include <cstring> #include <cstdlib> using namespace std; const ...

  8. 使用委托(C# 编程指南)

    原文地址:https://msdn.microsoft.com/zh-cn/library/ms173172.aspx 委托是安全封装方法的类型,类似于 C 和 C++ 中的函数指针.  与 C 函数 ...

  9. python 第三方模块 转 https://github.com/masterpy/zwpy_lst

    Chardet,字符编码探测器,可以自动检测文本.网页.xml的编码. colorama,主要用来给文本添加各种颜色,并且非常简单易用. Prettytable,主要用于在终端或浏览器端构建格式化的输 ...

  10. ACM2 递归 n分成k份

    //将n 分成k份的 分法总数 #include "stdafx.h" #include"stdio.h" #include<iostream> u ...