android微信的聊天记录长按某聊天弹出的页面是怎样实现的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android微信的聊天记录长按某聊天弹出的页面是怎样实现的相关的知识,希望对你有一定的参考价值。
弹出类似于这样的页面,我试着用dialog但是效果始终是这样的:
无论怎样设置对话框宽度全屏显示都无效果,求教大家,我是android的新手求教有没有人知道android短信页面、微信、QQ、米聊是怎么实现的。
setOnItemLongClickListener(OnItemLongClickListener listener);
则listener中的方法: boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) 将被调用,你可以实现这个方法,在其中创建你想要的对话框。
全屏对话框可以这样实现:
1 如果你请求activity去创建,则showDialog(YOUR_DIALOG_ID);
然后在activity中的
@OverrideprotectedDialog onCreateDialog(int id)//all other dialog stuff (which dialog to display)//this line is what you need:
dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN,LayoutParams.FLAG_FULLSCREEN);return dialog;
2 如果直接创建,则调用:Dialog dialog=newDialog(this,R.style.Theme_Dark_NoTitleBar_FullScreen);
不知道有没有说清楚。 参考技术A Android中应该是用ListView来实现聊天记录的,长按某个记录后,如果设置了侦听器:
setOnItemLongClickListener(OnItemLongClickListener listener);
则listener中的方法: boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) 将被调用,你可以实现这个方法,在其中创建你想要的对话框。
全屏对话框可以这样实现:
1 如果你请求activity去创建,则showDialog(YOUR_DIALOG_ID);
然后在activity中的
@OverrideprotectedDialog onCreateDialog(int id)//all other dialog stuff (which dialog to display)//this line is what you need:
dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN,LayoutParams.FLAG_FULLSCREEN);return dialog;
2 如果直接创建,则调用:Dialog dialog=newDialog(this,R.style.Theme_Dark_NoTitleBar_FullScreen);
不知道有没有说清楚。 参考技术B 这个得用popmenu实现 自己搜一下就知道了 参考技术C 不知道你是要开发软件还是怎么样,可以参考谷歌给的sdk工具,里边的源代码追问
我是在做软件开发 也是第一次做android的开发 一个类似微信的工具 我在sdk里面没有找到,可否告知怎样在SDK中找自己想要了解的东西,O(∩_∩)O谢谢
追答具体我还真不会,简单的教材网上很容易搜到的,包括一整套开发工具
Android封装类似微信的顶部TitleBar弹出的PopupWindow代码
Android仿微信顶部titlebar,点击加号弹出的PopupWindow,是封装好的PopupWindow,直接拿来用即可,先看效果图:
调用代码非常简单,这是MainActivity的代码:
public class MainActivity extends AppCompatActivity { private TitlePopup titlePopup; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initPopWindow(); findViewById(R.id.bt_start).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { titlePopup.show(v); } }); } private void initPopWindow() { // 实例化标题栏弹窗 titlePopup = new TitlePopup(this, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); titlePopup.setItemOnClickListener(onitemClick); // 给标题栏弹窗添加子类 titlePopup.addAction(new ActionItem(this, R.string.menu_groupchat, R.drawable.icon_menu_group)); titlePopup.addAction(new ActionItem(this, R.string.menu_addfriend, R.drawable.icon_menu_addfriend)); titlePopup.addAction(new ActionItem(this, R.string.menu_qrcode, R.drawable.icon_menu_sao)); titlePopup.addAction(new ActionItem(this, R.string.menu_money, R.drawable.abv)); } private TitlePopup.OnItemOnClickListener onitemClick = new TitlePopup.OnItemOnClickListener() { @Override public void onItemClick(ActionItem item, int position) { // mLoadingDialog.show(); switch (position) { case 0:// 发起群聊 Toast.makeText(getApplicationContext(), "发起群聊", Toast.LENGTH_SHORT).show(); break; case 1:// 添加朋友 Toast.makeText(getApplicationContext(), "添加朋友", Toast.LENGTH_SHORT).show(); break; case 2:// 扫一扫 Toast.makeText(getApplicationContext(), "扫一扫", Toast.LENGTH_SHORT).show(); break; case 3:// 收钱 Toast.makeText(getApplicationContext(), "收钱", Toast.LENGTH_SHORT).show(); break; default: break; } } }; }
剩余封装好的工具类不贴了,还有图片啊,颜色啊资源文件,我把demo上传到了CSDN资源下载,下载地址请点击:
PopupWindow示例
以上是关于android微信的聊天记录长按某聊天弹出的页面是怎样实现的的主要内容,如果未能解决你的问题,请参考以下文章
Android开发聊天工具,实现了类似QQ微信的即时通讯功能
Android封装类似微信的顶部TitleBar弹出的PopupWindow代码
Android中类似QQ和微信中聊天消息中包含有电话号码,点击可以选择拨打的功能怎么实现?