简易模仿手机拨号盘浮在ListView之上并且展开,折叠效果
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源码吧。
简易模仿手机拨号盘浮在ListView之上并且展开,折叠效果的更多相关文章
- 微信浏览器安卓手机video浮在最上层问题
微信浏览器安卓手机video浮在最上层问题 //x5-video-player-type="h5" x5-video-player-fullscreen="true&qu ...
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/18311877) 今天还是给大家带来自定义控件的编写,自定义一个Lis ...
- UWP 取消GridView、ListView鼠标选中、悬停效果
因为经常碰到ListView或者ListBox之类的选中.鼠标悬停样式和自己设置的主题颜色不搭,这时就需要改变这些样式了. 而这里我通过ListView来说明,大致思路其实就是重新定义Item的Tem ...
- WP8.1 模仿手机通讯记录的选择框
2016年11月6日 更新: 其实 这个有一个非常简单的方法.非常简单... ListView SelectionMode="Multiple" 这个一XAML 代码就可以解决了 ...
- Android:仿手机QQ朋友动态ListView
1.介绍: 使用此博客XListView模仿Android版本QQ朋友动态ListView效果.效果如下面的截图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...
- 读取手机联系人,并用listview显示
读取手机联系人,用到的就是一个contentprovider. 数据库里面有三张重要的表 raw_contact 里面有所有联系人的数据 data 每个联系人的所有数据 mime-type 每条数据的 ...
- 小谈 - web模仿手机打电话与正则表达式
昨天遇到了一个很棘手的问题,就是手机端调用web端的页面,如果用编辑器插入的内容页面中有电话的的数据就要变一下格式,让手机端可以实现拨号的功能. 研究了半天就是没一点头绪,但是偶尔看到数据中每一个电话 ...
- 简易封装手机浏览器touch事件
做手机开发时候,简单想用一些动作,如touchLeft,touchRight等, 使用其他库文件就要加载很多不必要的东西,流量的浪费 今天简单写了封装touch的库,简单的监听一些逻辑 onTouch ...
- 使用火狐浏览器模仿手机浏览器,附浏览器HTTP_USER_AGENT汇总
HTTP_USER_AGENT用来获取浏览页面的访问者在用什么操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好. 改变浏览器的这个参数就可以伪装成相应的浏览器. User Agent Swit ...
随机推荐
- Oracle的热备份
一. 什么是热备份 热备份也叫联机备份,它是指数据库处于open状态下,对数据库的数据文件.控制文件.参数文件.密码文件等进行一系列备份操作(其中数据文件是必须备份的). 它要求数据库处在归档模式下. ...
- Linux命令之乐--awk
1.脚本参数传值 #/bin/bash awk '"} {if(($1==a)) print $2;}' /etc/hosts 执行结果:
- Winform_播放声音文件
1.调用非托管的dll using System.Runtime.InteropServices; //DllImport命名空间的引用 class test //提示音 { [DllImport ...
- 理解 Linux shell 中的一个方言:2>&1
理解 Linux shell 中的一个方言:2>&1 2016-11-14 杜亦舒 前言 在使用 linux 命令或者 shell 编程时,这个用法常会遇到 2>&1 如 ...
- 基于SpringBoot项目的https
在spring中配置项目运行的端口很简单. 在application.properties中 server.port: 这样配置后,spring boot内嵌的tomcat服务器就是跑在8080端口启 ...
- EXEL表格读取 按键精灵
EXEL表格读取(1,m)(2,m)表格信息,m为行数 以下为本帖隐藏内容 ============================== Call Plugin.Office.OpenXls(&quo ...
- js更改input标签的读写属性
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Unity5.3官方VR教程重磅登场-系列2
作者:王寒链接:https://zhuanlan.zhihu.com/p/20485529来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 欢迎继续我们的学习. 北京时间 ...
- 有关Flash Player的内存管理及泄露检测
1.Flash Player分配内存的策略是少量请求大内存块, 也就是不会频繁向系统请求内存. 2.Flash Player内存的回收是根据引用计数和标记清除(比较耗cpu)这两种方法. 3.从理论上 ...
- Event 讲解
应用场景:某件事发生时,需要采取多步的动作,此时就用到了 使用方法:创建event方法一,使用命令 make:event 生成事件在app/Events目录下,命令make:listener 生成监 ...