首先看很像模仿:

走出来:

实现过程:

依赖类库:actionbarsherlock

用actionbarsherlock来实现顶部的搜索的效果。

tab用的是Viewpaper实现的。

详细细节:

1.聊天、发现和通讯录地下的绿色的矩形和地下的灰色细线是重合的,怎么实现这样的效果呢。仅仅要使用

RelativeLayout。然后使得两个ImageView的

android:layout_alignBottom属性都指向同一个View。

2.“聊天”右边的红底白字1

要实现这个效果,能够通过重绘控件得到。

该项目的cmm.ui.view.tabTextview就是这样一个控件。在OnDraw里面

drawCircle和drawText等。

3.加入button后出现的下拉菜单

这个效果用的PopupWindow做的。

// 载入数据
groups = new ArrayList<String>();
groups.add("发起群聊");
groups.add("加入朋友");
groups.add("视频聊天");
groups.add("扫一扫");
groups.add("拍照分享");
//载入左側相应图标
mbitmaplist = new ArrayList<Bitmap>();
mbitmaplist.add(((BitmapDrawable)getResources().getDrawable(R.drawable.ofm_group_chat_icon)).getBitmap());
mbitmaplist.add(((BitmapDrawable)getResources().getDrawable(R.drawable.ofm_add_icon)).getBitmap());
mbitmaplist.add(((BitmapDrawable)getResources().getDrawable(R.drawable.ofm_video_icon)).getBitmap());
mbitmaplist.add(((BitmapDrawable)getResources().getDrawable(R.drawable.ofm_qrcode_icon)).getBitmap());
mbitmaplist.add(((BitmapDrawable)getResources().getDrawable(R.drawable.actionbar_camera_icon)).getBitmap());
GroupAdapter groupAdapter = new GroupAdapter(this, groups, mbitmaplist);
lv_group.setAdapter(groupAdapter);
// 创建一个PopuWidow对象
popupWindow = new PopupWindow(view, 400, LayoutParams.WRAP_CONTENT, true);

Popupwindow出如今偏右側,能够这样做:

int xPos = (int)((windowManager.getDefaultDisplay().getWidth() - popupWindow.getWidth()) * (0.9));
Log.e("coder", "xPos:" + xPos); popupWindow.showAsDropDown(parent, xPos, 0);

其它没什么,做的非常简陋,不喜请勿喷。

下载链接是:http://download.csdn.net/detail/u012463359/7411731

版权声明:本文博主原创文章。博客,未经同意不得转载。

[模拟Android微信]主界面的更多相关文章

  1. Android ActionBar应用实战,高仿微信主界面的设计

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/26365683 经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对 ...

  2. android布局实践——模仿微信主界面

    这是目前微信6.0版本的主界面 先来分析一波: 1.(top.xml)界面头部有一个微信(6)消息提醒    一个搜索图标   一个更多的的图标+,中间还有一段空白,我们可以弄两个textView(其 ...

  3. Android利用ViewPager仿微信主界面-android学习之旅(78)

    首先是介绍ViewPager这个控件 ,这个控件需要pagerAdapter作为容器来提供数据,同时pagerAdapter的数据源是View数组 效果图如下 部分代码如下,实现如下的方法 mPage ...

  4. Android 之高仿微信主界面

    源码下载:  http://files.cnblogs.com/aibuli/WeChatSample.zip 主界面主要使用ActionBar来完成.  要实现这个效果,第一步当然是编辑menu目录 ...

  5. Android应用主界面底部菜单实现

    介绍 现在绝大多数主流的应用主界面,都会包含一个底部菜单,就拿腾讯的QQ与微信来说,看起来是这样的  <---我是底部菜单 原理 在很久以前,可以通过TabActivity实现相关功能,自从Fr ...

  6. [deviceone开发]-仿微信主界面示例

    一.简介 模仿微信主界面的4个页面,作为一个很常规应用的框架模板,值得参考.另外包括简单的菜单,其中搜索还支持语音录入,不过你需要增加飞讯的语音组件重新打包,才能看到效果 二.效果图 三.相关下载 h ...

  7. android actionbar viewpager 实现类微信主界面布局

    1 Activity public class MainActivity extends FragmentActivity { private ViewPager pager; private Act ...

  8. ViewPager学习之仿微信主界面

    由于素材的原因,这里都是从网上找的图片,所以所谓的仿微信实际上最后成了下图这货.. .,点击变色也是自己用的windows自带绘图的颜料桶填充的空白. .. watermark/2/text/aHR0 ...

  9. android微信简单界面

    这几天没事做了一个简单的菜单布局,在这里我没有添加任何的功能只是做了一个简单的布局.看着还可以,就想着与大家分享一下. 代码如下: <LinearLayout xmlns:android=&qu ...

随机推荐

  1. mysql增量ID 启动值更改方法

    在mysql很多朋友感到场AUTO_INCREMENT增量型ID值它不能被改变,其实这种认识是错误的,这里mysql增量ID开始值更改和设置. 设置自动递增字段的通常的方法: 格时加入: create ...

  2. mysql 编译安装提示“checking for termcap functions library... configure: error: No curses/termcap library found”

    原因: 缺少ncurses安装包 解决办法: 下载安装相应软件包 一.如果你的系统是RedHat系列: yum list|grep ncurses yum -y install ncurses-dev ...

  3. 《effective java》读书札记第三条用私有构造器或者枚举类型强化Singleton属性

    Singleton指只被实例化一次的类.一般用来搞那些创建很耗资源或者要求系统中只能有一个实例的类. 这个很经常使用.记得曾经实习面试的时候就有这个面试题. 一般採用的方法是将构造器私有化,然后提供一 ...

  4. .Net 内存溢出(System.OutOfMemoryException)

    .Net 内存溢出(System.OutOfMemoryException) 在什么情况下会出现OutOfMemonryException呢? 在我们试图新建一个对象时,而垃圾收集器又找不到任何可用内 ...

  5. mysql 开放的telnet

    两步开幕mysql远程连接 一个,登录mysql # mysql -uroot -p 两,配置远程连接 mysql > GRANT ALL PRIVILEGES ON *.* TO 'user1 ...

  6. python import media模块

    安装PyGraphics包 (python import media模块)有一段代码要import media,打开python自带的IDLE,输入: >>>import media ...

  7. s有一天,教你开始truts2

    写在前面 他也是一个java和java web新秀.此前有过接触java web发展 我想一个小项目.要熟悉struts2开发过程 一个有趣的想法源于教研室项目上的一个功能实现–自己主动识别运营商,去 ...

  8. Red Gate系列之八 SQL Connect 1.1.1.19 Edition 数据库连接及操作工具 完全破解+使用教程

    原文:Red Gate系列之八 SQL Connect 1.1.1.19 Edition 数据库连接及操作工具 完全破解+使用教程 Red Gate系列之八 SQL Connect 1.1.1.19 ...

  9. javascript获取当前url中的參数

    javascript获取当前页面url中的參数能够使用location的search方法,获取到的是url中?后面的部分,比如http:localhost:8080/Manager/index.jsp ...

  10. Swift基础--使用TableViewController自己定义列表

    首先建立一个swift项目,把storyboard的内容删掉,加入一个Navigation Controller.然后设置storyboard相应界面的class,在Navigation Contro ...