[Android应用] 仿QQHD长按好友列表显示操作条
前言:
图片:
![](https://img-my.csdn.net/uploads/201205/08/1336468464_4078.png)
思路:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><ListView android:id="@+id/info_list" android:layout_width="fill_parent"android:layout_height="fill_parent" /></LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"><TextView android:id="@+id/txt_item"android:layout_width="fill_parent"android:layout_height="60dip" /></LinearLayout><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/layout_tip_bar"android:layout_width="fill_parent"android:layout_height="80dip"android:gravity="right"android:background="@drawable/tip_background"android:visibility="gone"><LinearLayout android:id="@+id/layout_item1"android:orientation="vertical"android:layout_width="wrap_content"android:layout_height="60dip"android:layout_marginLeft="80dip"android:layout_margin="8dip"><ImageView android:layout_width="50dip"android:layout_height="42dip"android:background="@android:drawable/ic_dialog_dialer" /><TextView android:layout_width="fill_parent"android:layout_height="20dip"android:textColor="@android:color/white"android:textSize="12sp"android:text="@string/item1"android:gravity="center_horizontal"/></LinearLayout><LinearLayout android:id="@+id/layout_item2"android:orientation="vertical"android:layout_width="wrap_content"android:layout_height="60dip"android:layout_toRightOf="@id/layout_item1"android:layout_marginLeft="80dip"android:layout_marginRight="50dip"android:layout_margin="8dip"><ImageView android:layout_width="50dip"android:layout_height="42dip"android:background="@android:drawable/ic_dialog_email" /><TextView android:layout_width="fill_parent"android:layout_height="20dip"android:textColor="@android:color/white"android:textSize="12sp"android:gravity="center_horizontal"android:text="@string/item2"/></LinearLayout></RelativeLayout></LinearLayout>
public class ListAdapter extends BaseAdapter {private Context context = null;private LayoutInflater inflater = null;// 展现的信息private ArrayList<String> infoList = null;public ListAdapter(Context context, ArrayList<String> infoList) {this.context = context;this.infoList = infoList;this.inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);}public int getCount() {return this.infoList.size();}public Object getItem(int position) {return this.infoList.get(position);}public long getItemId(int position) {return position;}public View getView(int position, View convertView, ViewGroup parent) {// 防止内存泄漏if(convertView == null) {convertView = (View)this.inflater.inflate(R.layout.item, null);}TextView textView = (TextView)convertView.findViewById(R.id.txt_item);textView.setText(this.infoList.get(position));return convertView;}
}
public class ListItemBarShowActivity extends Activity implements OnItemClickListener, OnItemLongClickListener {/** Called when the activity is first created. */private ListView listView = null;private ListAdapter listAdapter = null;private ArrayList<String> infoList = null;// 工具栏 【备注1】private RelativeLayout tipLayout = null;private ObjectClickListener oListener = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// 初始化init();}@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {// 如果当前有显示,隐藏起来 【备注2】if(this.tipLayout != null) {this.tipLayout.setVisibility(View.GONE);}}@Overridepublic boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) {// 先让之前显示的隐藏掉 【备注2】if(tipLayout != null) {tipLayout.setVisibility(View.GONE);}tipLayout = (RelativeLayout)view.findViewById(R.id.layout_tip_bar);tipLayout.setVisibility(View.VISIBLE);// 要设置聚焦,不然怎么点击都是listView的单击事件tipLayout.setFocusable(true);tipLayout.findViewById(R.id.layout_item1).setOnClickListener(this.oListener);tipLayout.findViewById(R.id.layout_item2).setOnClickListener(this.oListener);return true;}/** 工具栏工具单击事件 */private class ObjectClickListener implements OnClickListener {@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.layout_item1: // 【备注3】Toast.makeText(ListItemBarShowActivity.this, "item1 Click", Toast.LENGTH_SHORT).show();break;case R.id.layout_item2:Toast.makeText(ListItemBarShowActivity.this, "item2 Click", Toast.LENGTH_SHORT).show();break;}}}/** 初始化 */private void init() {this.infoList = new ArrayList<String>();this.oListener = new ObjectClickListener();infoList.add("第一个");infoList.add("第二个");infoList.add("第三个");infoList.add("第四个");this.listAdapter = new ListAdapter(this, this.infoList);this.listView = (ListView)this.findViewById(R.id.info_list);this.listView.setOnItemClickListener(this);this.listView.setOnItemLongClickListener(this);this.listView.setAdapter(this.listAdapter);}}
【备注1】:用成员变量来保存工具栏整个 layout 是为了显示和隐藏只操作一个对象
![](https://img-my.csdn.net/uploads/201205/09/1336493871_5183.png)
![](https://img-my.csdn.net/uploads/201205/09/1336493897_4787.png)
![](https://img-my.csdn.net/uploads/201205/09/1336493915_2479.png)
[Android应用] 仿QQHD长按好友列表显示操作条相关推荐
- Android 实现仿微信朋友圈九宫格图片+NineGridView+ImageWatcher(图片查看:1.预览,2.拖动,3.放大,4.左右滑动,5.长按保存到手机)的功能
一.测试 实现: 二.添加依赖包: implementation 'androidx.appcompat:appcompat:1.1.0'implementation 'androidx.recycl ...
- android 仿qq好友动态,Android UI仿QQ好友列表分组悬浮效果
本文实例为大家分享了Android UI仿QQ好友列表分组悬浮效果的具体代码,供大家参考,具体内容如下 楼主是在平板上測试的.图片略微有点大,大家看看效果就好 接下来贴源代码: PinnedHeade ...
- android+高仿视频录制,android高仿微信视频编辑页
android高仿微信视频编辑页-视频多张图片提取 上一篇中介绍了有关视频提取图片的知识点,如果对这个不太了解 建议看下android提取视频多张图片和视频信息之前这篇. 这里实现的是仿微信的视频编辑 ...
- Android高仿IOS和QQ的弹出对话框
我们知道Android中其实并不提供圆形的东西,像Button,TextView,EditView等等都是没有弧形元素在里面(看看这些控件的属性就知道了).而很多时候我们的程序中又需要用到这样有弧形元 ...
- android+qq底部界面,Android 高仿QQ 界面滑动效果
Android高仿QQ界面滑动效果 点击或者滑动切换画面,用ViewPager实现, 首先是布局文件: android:layout_width="match_parent" an ...
- android高仿微信视频编辑页-视频多张图片提取
android高仿微信视频编辑页-视频多张图片提取 上一篇中介绍了有关视频提取图片的知识点,如果对这个不太了解 建议看下android提取视频多张图片和视频信息之前这篇. 这里实现的是仿微信的视频编辑 ...
- Android自定义控件--仿安全卫士中的一键加速【圆形进度条】
最近看到a10615的:Android自定义控件–仿安全卫士中的一键加速.自己零零散散学习了几个月,也想尝试下.几天的功夫总算把它弄出来,虽然没有泓洋的强大,但是该有的自定义属性也有了,先来看看效果图 ...
- android仿微信图片上传进度,Android开发之模仿微信打开网页的进度条效果(高仿)...
一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下 "仿微信打开网页的进度条效果",你会看到有很多类似的文章,不过他们有个共同点,就是实 ...
- android com.mylhyl,Android 高仿微信朋友圈拍照上传功能
模仿微信朋友圈发布动态,输入文字支持文字多少高度自增,有一个最小输入框高度,输入文字有限制,不过这些都很easy! 1. photopicker的使用 这是一个支持选择多张图片,点击图片放大,图片之间 ...
最新文章
- CodeForces 597A Divisibility
- http/https面试总结
- jquery中$(document).ready(function(){//todo});window.onload时间线关系
- 2015-12-03 AD中用户属性Lastlogon与LastlogonTimeStamp的区别
- Django学习笔记第三篇--关于响应返回
- Pocket通证POKT锁仓总价值超2.1947亿美元
- Ubuntu配置教程
- python写水仙花数
- Linux下Libtorch运行出现free(): invalid pointer报错
- java调用录像_java调用摄像头拍照录像
- java 视频转mp4_java视频转码mov转MP4
- android反编译脱壳,Android脱壳圣战之---如何脱掉爱加密家的保护壳
- spring mvc 双亲上下文问题
- 如何取消EXCEL文件的“受保护的视图“
- 宋丹丹晒年轻旧照 桃眼杏腮被赞美女
- 《Linux 驱动:输入子系统》
- vue路由跳转不执行mounted方法
- 2022年全球市场次氯酸钠总体规模、主要生产商、主要地区、产品和应用细分研究报告
- ECPP——利用有限域上的椭圆曲线,精确判定素数的算法
- 边缘计算,是在炒概念吗?