android 仿微信demo————微信启动界面实现
android 仿微信demo————注册功能实现(移动端)
android 仿微信demo————注册功能实现(服务端)
android 仿微信demo————登录功能实现(移动端)
android 仿微信demo————登录功能实现(服务端)
android 仿微信demo————微信主界面实现
android 仿微信demo————微信消息界面实现(移动端)
android 仿微信demo————微信消息界面实现(服务端)
android 仿微信demo————微信通讯录界面功能实现(移动端,服务端)
android 仿微信demo————微信发现界面实现
android 仿微信demo————微信顶部操作栏界面实现
android 仿微信demo————微信顶部操作栏搜索按钮实现(查询通讯录好友功能)
android 仿微信demo————微信顶部操作栏加号按钮实现(弹出子菜单)
文章目录上一篇中实现微信顶部操作栏搜索按钮,这一篇完善加号按钮功能
微信顶部操作栏加号按钮实现(弹出子菜单)测试
微信顶部操作栏加号按钮实现(弹出子菜单)我们之前说过加号按钮可以通过toolbar的overflow实现,但是效果不理想,那么要实现微信那种效果,要怎么做呢?
有没有发现当点击加号后的弹出子菜单像不像我们之前在登录界面做的对话框有点类似,没错,可以对话框实现,我们可以自定义一个对话框,当点击加号按钮时便弹出一个对话框
创建对话框activity
MainTopRightDialog.java
package com.zhang.test.wxchatdemo1;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.LinearLayout;
public class MainTopRightDialog extends Activity {
private LinearLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_top_right_dialog);
//设置对话框activity的宽度等于屏幕宽度,一定要设置,不然对话框会显示不全
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);//需要添加的语句
layout=(LinearLayout)findViewById(R.id.main_dialog_layout);
layout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event){
finish();
return true;
}
}
创建对应的布局
main_top_right_dialog.xml
在之前的文章说过activity是会覆盖已有的activity(界面),所有我们需要在AndroidMainfest.xml中给activity设置一个自定义对话框主题,转换为对话框
在AndroidMainfest.xml中把activity转换为对话框
在style.xml中声明自定义的对话框
上面自定义的对话框样式继承Theme.Dialog转换为对话框,并且还给对话框设置动画属性,下面会给出这两个文件
创建动作文件anim
在动作文件中创建两个渐变尺寸伸缩动画效果scale文件
push_top_in2.xml
push_top_out2.xml
测试
测试前要把之前点击加号按钮跳转的activity注释取消掉



