【模仿】模仿易信的UI
![](http://images.cnitblog.com/blog/305577/201308/26104147-1c52cccd0c2b46d39c5315dab8691944.gif)
<?xml version= "1.0" encoding= "utf-8" ?>
<RelativeLayout xmlns:android= "http://schemas.android.com/apk/res/android"
android:layout_width= "fill_parent"
android:layout_height= "44dip"
android:gravity= "center_vertical"
android:padding= "0.0px" >
<ImageView
android:id= "@+id/rlCommenTitleBG"
android:layout_width= "fill_parent"
android:layout_height= "fill_parent"
android:background= "@drawable/comm_title_bg" />
<TextView
android:id= "@+id/ivTitleName"
style= "@style/A1_Font"
android:layout_width= "wrap_content"
android:layout_height= "fill_parent"
android:layout_centerInParent= "true"
android:ellipsize= "end"
android:gravity= "center"
android:paddingLeft= "96.0dip"
android:paddingRight= "96.0dip"
android:singleLine= "true"
android:text= "@string/app_name" />
<ImageButton
android:id= "@+id/ivTitleBtnLeft"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:layout_alignParentLeft= "true"
android:layout_marginLeft= "5dip"
android:layout_centerVertical= "true"
android:background= "@drawable/showleft_selector"
android:gravity= "center"
android:includeFontPadding= "false" />
<ImageButton
android:id= "@+id/ivTitleBtnRigh"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:layout_alignParentRight= "true"
android:layout_centerVertical= "true"
android:background= "@drawable/showright_selector"
android:gravity= "center"
android:layout_marginRight= "5dip"
android:includeFontPadding= "false" />
</RelativeLayout>
|
1.SlidingMenu
2.Fragment
记得建完一个新项目后,请添加刚刚下载的Slidingmenu库。方法: 右键项目--》Properties--》Android--》点击Add,就可以添加库
![](/assets/blank.gif)
< LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android"xmlns:tools ="http://schemas.android.com/tools"android:layout_width ="match_parent"android:layout_height ="match_parent"android:background ="@color/white"android:clickable ="true"android:orientation ="vertical" ><include layout= "@layout/main_title" android:focusable ="true" /><FrameLayoutandroid:id ="@+id/content_frame"android:layout_width ="match_parent"android:layout_height ="match_parent" /></ LinearLayout>
![](/assets/blank.gif)
![](/assets/blank.gif)
public class MainActivity extends SlidingFragmentActivity implementsOnClickListener{protected SlidingMenu mSlidingMenu ;private ImageButton ivTitleBtnLeft ;private Fragment mContent ;@Overridepublic void onCreate(Bundle savedInstanceState) {super .onCreate(savedInstanceState);initSlidingMenu();setContentView(R.layout. activity_main );initView();}private void initView() {ivTitleBtnLeft = (ImageButton)this .findViewById(R.id. ivTitleBtnLeft);ivTitleBtnLeft .setOnClickListener( this);}//初始化左侧菜单private void initSlidingMenu() {mContent = new Fragment_yixin();getSupportFragmentManager().beginTransaction().replace(R.id. content_frame , mContent ).commit();setBehindContentView(R.layout. main_left_layout );//设置左边的菜单布局FragmentTransaction mFragementTransaction = getSupportFragmentManager().beginTransaction();Fragment mFrag = new LeftSlidingMenuFragment();mFragementTransaction.replace(R.id. main_left_fragment , mFrag);mFragementTransaction.commit();mSlidingMenu = getSlidingMenu();mSlidingMenu .setMode(SlidingMenu. LEFT); // 设置是左滑还是右滑,还是左右都可以滑,我这里只做了左滑mSlidingMenu .setBehindOffsetRes(R.dimen. slidingmenu_offset); // 设置菜单宽度mSlidingMenu .setFadeDegree(0.35f);// 设置淡入淡出的比例mSlidingMenu .setTouchModeAbove(SlidingMenu. TOUCHMODE_FULLSCREEN); //设置手势模式mSlidingMenu .setShadowDrawable(R.drawable. shadow); // 设置左菜单阴影图片mSlidingMenu .setFadeEnabled( true); // 设置滑动时菜单的是否淡入淡出mSlidingMenu .setBehindScrollScale(0.333f);// 设置滑动时拖拽效果}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.ivTitleBtnLeft ://点击标题左边按钮弹出左侧菜单mSlidingMenu .showMenu( true);break ;default :break ;}}/*** 左侧菜单点击切换首页的内容*/public void switchContent(Fragment fragment) {mContent = fragment;getSupportFragmentManager().beginTransaction().replace(R.id. content_frame , fragment).commit();getSlidingMenu().showContent();}}
![](/assets/blank.gif)
左侧菜单: LeftSlidingMenuFragment
![](/assets/blank.gif)
public class LeftSlidingMenuFragment extends Fragment implements OnClickListener{private View yixinBtnLayout; //左侧菜单的易信功能private View circleBtnLayout; //左侧菜单的朋友圈功能private View settingBtnLayout; //左侧菜单的设置功能@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.main_left_fragment, container,false);yixinBtnLayout = view.findViewById(R.id.yixinBtnLayout);yixinBtnLayout.setOnClickListener(this);circleBtnLayout = view.findViewById(R.id.circleBtnLayout);circleBtnLayout.setOnClickListener(this);settingBtnLayout = view.findViewById(R.id.settingBtnLayout);settingBtnLayout.setOnClickListener(this);System.out.println();return view;}@Overridepublic void onClick(View v) {Fragment newContent = null;switch (v.getId()) {case R.id.yixinBtnLayout: //易信的点击事件newContent = new Fragment_yixin();yixinBtnLayout.setSelected(true);circleBtnLayout.setSelected(false);settingBtnLayout.setSelected(false);break;case R.id.circleBtnLayout: //朋友圈的点击事件newContent = new Fragment_friend();yixinBtnLayout.setSelected(false);circleBtnLayout.setSelected(true);settingBtnLayout.setSelected(false);break;case R.id.settingBtnLayout: //设置的点击事件newContent = new Fragment_setting();yixinBtnLayout.setSelected(false);circleBtnLayout.setSelected(false);settingBtnLayout.setSelected(true);break;default:break;}if (newContent != null)switchFragment(newContent);}/** 切换到不同的功能内容*/private void switchFragment(Fragment fragment) {if (getActivity() == null)return; MainActivity ra = (MainActivity) getActivity();ra.switchContent(fragment);} }
![](/assets/blank.gif)
![](/assets/blank.gif)
<? xml version ="1.0" encoding= "utf-8" ?> < FrameLayout xmlns:android ="http://schemas.android.com/apk/res/android"android:id ="@+id/main_left_fragment"android:layout_width ="match_parent"android:layout_height ="match_parent"android:background ="@color/white" ></ FrameLayout>
![](/assets/blank.gif)
![](/assets/blank.gif)
<? xml version ="1.0" encoding= "utf-8" ?> < ScrollView android:background ="@color/tools_box_bg" android:scrollbars ="none" android:layout_width ="fill_parent" android:layout_height ="fill_parent"xmlns:android ="http://schemas.android.com/apk/res/android" ><LinearLayout android:orientation= "vertical" android:id ="@+id/llRoot"android:layout_width ="fill_parent" android:layout_height ="wrap_content" >< com.chaowen.yixin.RoundedImageView android:layout_gravity ="center_horizontal" android:id ="@+id/headImageView" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_marginTop = "25.0dip" android:src ="@drawable/head_default_yixin" android:adjustViewBounds = "true" android:maxHeight ="80dip" android:maxWidth= "80dip" />< TextView android:textSize ="16.0sp" android:textColor ="#ffccccc6"android:layout_gravity ="center_horizontal" android:id ="@+id/nickNameTextView"android:layout_width ="wrap_content" android:layout_height ="wrap_content"android:layout_marginTop = "10.0dip" android:text ="511644784" />< TextView android:textSize ="12.0sp" android:textColor ="#ffa8a8a3"android:layout_gravity ="center_horizontal" android:id ="@+id/yixinCodeTextView" android:layout_width ="wrap_content" android:layout_height ="wrap_content"android:layout_marginLeft = "10.0dip" android:layout_marginTop = "6.0dip"android:layout_marginRight = "10.0dip" android:layout_marginBottom = "10.0dip" />< include android:id ="@+id/yixinBtnLayout" layout ="@layout/toolbox_item_yixin" />< include android:id ="@+id/circleBtnLayout" layout ="@layout/toolbox_item_friend" />< include android:id ="@+id/settingBtnLayout" layout ="@layout/toolbox_item_setting" />< View android:background ="#ff1c1c1b" android:layout_width ="fill_parent" android:layout_height ="1.3299866dip" />< View android:background ="#ff474745" android:layout_width ="fill_parent" android:layout_height ="1.0px" />< TextView android:textSize ="12.0sp" android:textColor ="#ff999994"android:gravity ="center" android:layout_gravity ="bottom|center" android:id ="@+id/inviteFriendBtnLayout" android:background ="@drawable/tools_box_invite_btn_selector" android:layout_width= "wrap_content"android:layout_height ="wrap_content" android:layout_marginTop = "70.0dip"android:text ="邀请好友" /></LinearLayout > </ ScrollView>
![](/assets/blank.gif)
http://pan.baidu.com/share/link?shareid=3913241068&uk=1863281063
【模仿】模仿易信的UI相关推荐
- 小伙利用C++模仿酷狗7(Kugou7) UI界面源码,附带炫酷动画效果哦
VC模仿酷狗7(Kugou7) UI界面源码,有动画效果, 源码说明:内含VC++源码.易语言源码各一份.包含所有图片源码(使用Fireworks编辑) 开发环境:VC版--VS2005.Gdiplu ...
- 易信发布一个月后的思考
8月19号,中国电信和网易发布了由双方共同打造的 IM 工具 "易信",用以抗衡微信. 我们先说说易信的功能:" 易信"的基本功能:除了支持文字.语音聊天,还可 ...
- 行业短信 运营思路_飞信、易信之后 三大运营商要借5G再战微信
来源:新浪科技 三大运营商和众多手机厂商高管出席 新浪科技 张俊 4月8日,可能是三家运营商少有的联手时刻.三家企业共同宣布,将联合打造5G消息,对传统短信业务进行升级. 早在在2G/3G时代,QQ. ...
- JAVA调用易信接口向指定好友推送消息(一)背景需求
众所周知,中国电信内部一直使用易信群进行交流 各种工作交流都在易信群里面沟通 包括投诉处理,障碍报修,拍照上传 最重要的就是每天甚至每个时点的指标完成情况的通报 所以只能用4个字来形容 String ...
- 易信推专线电话 通话双方中只需一方安装即可免费通话
上周微信电话本着实火了一把,通话双方都下载此APP并开通免费通话功能就能使用微信电话本拨打免费网络电话.这个相对有些局限性,易信就抓住这一点于昨日高调发布了3.0预览版,新版本首次新增了专线电话功能, ...
- python登录网页版易信_易信网页版下载|易信网页版登陆客户端官方最新版 2.1.1103.0 - 系统天堂...
易信网页版登陆客户端是一款可以在pc电脑上直接登陆您的易信账号的一个客户端软件,它是一款能够真正免费聊天的即时通讯软件,小编今天就跟大家分享这款易信网页版登陆及其安装方法,本站提供本站提供易信网页版下 ...
- 易信七夕调查 八成情侣玩转社交软件
本文讲的是 : 易信七夕调查 八成情侣玩转社交软件 , 七夕情人节将近,城市又充满了恋爱的味道,易信在其社交平台上发起七夕情感交流不完全调查,面对"七夕过不过?"." ...
- 中船嘉年华邮轮揭幕全新企业品牌标识;美国运通全球商务旅行完成对Expedia集团旗下易信达的收购 | 全球旅报...
厦门W酒店闪耀登"鹭" 全新感官盛宴耀然揭幕.万豪国际集团旗下W酒店宣布,厦门W酒店开业.厦门W酒店业主方为宝龙集团.酒店坐落于厦门时尚的东部商圈,毗邻厦门新落成的宝龙一城地标购物 ...
- 年会也能互联网+ 易信企业版玩投票抽奖
本文讲的是 : 年会也能互联网+ 易信企业版玩投票抽奖 ,距离春节还有十几天,各企业年度总结大会及年会狂欢都已紧锣密鼓进入日程,互联网公司花样百出的年终奖更是闪瞎小编的眼,英式奢华捷豹XF.2W现 ...
- 易信免费电话,确实业界良心
随着智能手机的普及,免费电话也越来越多,可是缺点很明显,那就是接听方的来电显示并不会显示你的号码,取而代之的是一长串系统号码,用户体验极差. 原文地址: http://www.hpboys.com/6 ...
最新文章
- 【面试练习题】使用“暴力”的方法将字符串时间转化为秒数
- nginx修改监听端口号8080_Nginx + Tomcat 配置
- 四十五、Gtihub+Hexo+icarus搭建自己的博客
- OJ1027: 判断水仙花数
- 用css实现图片翻转
- Unity 编辑器下控制播放Animator
- C# winform 界面美化技巧(扁平化设计)
- 如何保证测试质量之Bug管理规范及流程
- el-talbe如何在打印的时候,每页都能有表头?
- Docker + Gitlab + Gitlab CI(三)
- matlab 冲激响应不变法,matlab实验七冲激响应不变法IIR数字滤波器设计.doc
- 最长上升子序列(c++图文详解)
- 学习Ansible自动化
- 怎么设置启用远程桌面?如何让外网电脑远程本地内网?
- 伊洛纳服务器维护,《伊洛纳》【公告】伊洛纳12月23日正式服版本更新
- javascript实现blob加密视频源地址
- 人工智能企业全球一百强,中国6家上榜,5家在北京
- 判断对象是否是数组instanceof和isArray
- java.io.IOException: Jenkins Mailer Plugin v1.23 failed to load.(出现Jenkins插件安装报错并且无法成功等问题)
- 个人收藏的常用前端网站