Android仿微信長(zhǎng)按菜單效果
本文實(shí)例為大家分享了Android仿微信長(zhǎng)按菜單展示的具體代碼,供大家參考,具體內(nèi)容如下
FloatMenu
A menu style pop-up window that mimics WeChat。仿微信的長(zhǎng)按菜單。
效果如下

引入方法:
Github地址:https://github.com/JavaNoober/FloatMenu
dependencies {
....
compile 'com.noober.floatmenu:common:1.0.2'
}
使用說明
使用方法1:
Activity 重寫dispatchTouchEvent,并且新建一個(gè)Point對(duì)象,show的時(shí)候傳入改對(duì)象
private Point point = new Point();
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if(ev.getAction() == MotionEvent.ACTION_DOWN){
point.x = (int) ev.getRawX();
point.y = (int) ev.getRawY();
}
return super.dispatchTouchEvent(ev);
}
調(diào)用:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
FloatMenu floatMenu = new FloatMenu(MainActivity.this);
floatMenu.items("菜單1", "菜單2", "菜單3");
floatMenu.show(point);
}
});
使用方法2:
不需要重寫dispatchTouchEvent,但是需要在初始化的時(shí)候傳入所點(diǎn)擊的view,floatment初始化必須在點(diǎn)擊事件外部
final FloatMenu floatMenu = new FloatMenu(this, btn1);
floatMenu.items("菜單1", "菜單2", "菜單3");
floatMenu.setOnItemClickListener(new FloatMenu.OnItemClickListener() {
@Override
public void onClick(View v, int position) {
Toast.makeText(MainActivity.this, "菜單"+position, Toast.LENGTH_SHORT).show();
}
});
設(shè)置菜單的方式:
1.代碼設(shè)置
floatMenu.items("菜單1", "菜單2", "菜單3");
...
List<String> list = new ArrayList<>();
list.add("菜單1"); list.add("菜單2"); list.add("菜單3");
floatMenu.items(list);
2.menu.xml設(shè)置
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item app:menu_title="Send to Chat" app:icon = "@drawable/brush"></item>
<item
app:menu_title="Add to Favorites" app:icon = "@drawable/barrage"/>
<item
app:menu_title="Delete" app:icon = "@drawable/clock"/>
<item
app:menu_title="More" app:icon = "@drawable/collection"/>
</menu>
floatMenu.inflate(R.menu.popup_menu);
方法都提供參數(shù)設(shè)置菜單的寬度:
public void items(List<MenuItem> itemList, int itemWidth) public void items(int itemWidth, String... items) public void inflate(int menuRes, int itemWidth)
創(chuàng)建菜單:
注意點(diǎn):
顯示floatmenu有兩種方法:
floatmenu.show(point)與floatmenu.show()的區(qū)別
區(qū)別在于,創(chuàng)建floatmenu對(duì)象的位置,如果使用第2種方法,創(chuàng)建floatmenu必須在點(diǎn)擊事件的外面
第一種則沒有這種限制,如下所示:
final FloatMenu floatMenu = new FloatMenu(this, btn2);
floatMenu.inflate(R.menu.popup_menu);
floatMenu.setOnItemClickListener(new FloatMenu.OnItemClickListener() {
@Override
public void onClick(View v, int position) {
Toast.makeText(MainActivity.this, "菜單"+position, Toast.LENGTH_SHORT).show();
}
});
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
FloatMenu floatMenu = new FloatMenu(MainActivity.this);
floatMenu.items("菜單1", "菜單2", "菜單3");
floatMenu.show(point);
}
});
new FloatMenu(this, view) 與 new FloatMenu(this)區(qū)別
使用第二種方法創(chuàng)建對(duì)象在,必須重寫dispatchTouchEvent
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android自定義PopWindow實(shí)現(xiàn)QQ、微信彈出菜單效果
- Android PopupWindow實(shí)現(xiàn)微信右上角的彈出菜單
- Android仿微信底部菜單欄效果
- Android制作微信app頂部menu菜單(ActionBar)
- Android中微信小程序開發(fā)之彈出菜單
- android自定義popupwindow仿微信右上角彈出菜單效果
- Android開發(fā)Popwindow仿微信右上角下拉菜單實(shí)例代碼
- Android開發(fā)之微信底部菜單欄實(shí)現(xiàn)的幾種方法匯總
- Android仿微信底部菜單欄功能顯示未讀消息數(shù)量
- Android仿微信滑動(dòng)彈出編輯、刪除菜單效果、增加下拉刷新功能
- Android仿微信加號(hào)菜單模式
相關(guān)文章
詳解React Native監(jiān)聽Android回退按鍵與程序化退出應(yīng)用
這篇文章主要介紹了詳解React Native監(jiān)聽Android回退按鍵與程序化退出應(yīng)用的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09
Android自定義View實(shí)現(xiàn)loading動(dòng)畫加載效果
項(xiàng)目開發(fā)中對(duì)Loading的處理是比較常見的,安卓系統(tǒng)提供的不太美觀,引入第三發(fā)又太麻煩,這時(shí)候自己定義View來實(shí)現(xiàn)這個(gè)效果。這篇文章主要介紹了Android自定義View實(shí)現(xiàn)loading動(dòng)畫加載效果,需要的朋友可以參考下2017-03-03
Android仿微信列表滑動(dòng)刪除之可滑動(dòng)控件(一)
這篇文章主要為大家詳細(xì)介紹了Android仿微信列表滑動(dòng)刪除之可滑動(dòng)控件,具有一定的實(shí)用性和參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
Android中AndroidStudio&Kotlin安裝到運(yùn)行過程及常見問題匯總
這篇文章主要介紹了Android(AndroidStudio&Kotlin)安裝到運(yùn)行過程及常見問題匯總,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Android 實(shí)現(xiàn)無網(wǎng)絡(luò)頁(yè)面切換的示例代碼
本篇文章主要介紹了Android 實(shí)現(xiàn)無網(wǎng)絡(luò)頁(yè)面切換的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
Android圖片處理:識(shí)別圖像方向并顯示實(shí)例教程
在Android中使用ImageView顯示圖片的時(shí)候發(fā)現(xiàn)圖片顯示不正,方向偏了或者倒過來了,下面與大家分享下具體的解決方法,感性的朋友可以參考下2013-06-06
Android界面 NotificationManager使用Bitmap做圖標(biāo)
Android界面 NotificationManager使用Bitmap做圖標(biāo),如何實(shí)現(xiàn)呢,本文將介紹解決方法,需要的朋友可以參考下2012-12-12
android 圖片操作(縮放移動(dòng)) 實(shí)例代碼
android 圖片操作(縮放移動(dòng)) 實(shí)例代碼,需要的朋友可以參考一下2013-06-06

