android教程之使用popupwindow創(chuàng)建菜單示例
PopupWindow是一個(gè)彈出式窗口,它可以展示任意View。他會(huì)浮在當(dāng)前窗口的上方展示。
下面看代碼:
public class MyActivity extends Activity{
private PopupWindow menu;
private LayoutInflater inflater;
private View layout;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//實(shí)例化PopupWindow創(chuàng)建菜單
initMenu();
}
//判斷按鍵 菜單的顯示與隱藏
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(!menu.isShowing()&&keyCode == KeyEvent.KEYCODE_MENU){
show();
}else{
menu.dismiss();
}
if(keyCode == KeyEvent.KEYCODE_BACK&&menu.isShowing()){
menu.dismiss();
}
return true;
}
//實(shí)例化PopupWindow創(chuàng)建菜單
private void initMenu(){
//獲取LayoutInflater實(shí)例
inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
//獲取彈出菜單的布局
layout = inflater.inflate(R.layout.menu,null);
//設(shè)置popupWindow的布局
menu = new PopupWindow(layout, WindowManager.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.WRAP_CONTENT);
}
//顯示菜單
private void show(){
//設(shè)置位置
menu.showAtLocation(this.findViewById(R.id.main), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL,0,0); //設(shè)置在屏幕中的顯示位置
}
}
菜單的布局文件:
<?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="horizontal"
>
<ImageView
android:id="@+id/icon_1"
android:background="@drawable/icon_1"
android:layout_width="40dp"
android:layout_height="40dp"/>
<ImageView
android:id="@+id/icon_2"
android:background="@drawable/icon_2"
android:layout_width="40dp"
android:layout_height="40dp"/>
<ImageView
android:id="@+id/icon_3"
android:background="@drawable/icon3"
android:layout_width="40dp"
android:layout_height="40dp"/>
<ImageView
android:id="@+id/icon_4"
android:background="@drawable/icon4"
android:layout_width="40dp"
android:layout_height="40dp"/>
</LinearLayout>
相關(guān)文章
Android P實(shí)現(xiàn)靜默安裝的方法示例(官方Demo)
這篇文章主要介紹了Android P實(shí)現(xiàn)靜默安裝,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Android手勢(shì)控制實(shí)現(xiàn)縮放、移動(dòng)圖片
這篇文章主要為大家詳細(xì)介紹了Android手勢(shì)控制實(shí)現(xiàn)縮放、移動(dòng)圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02Android中imageView圖片放大縮小及旋轉(zhuǎn)功能示例代碼
這篇文章主要介紹了Android中imageView圖片放大縮小及旋轉(zhuǎn)功能示例代碼,需要的朋友可以參考下2017-08-08Android 中ImageView的ScaleType使用方法
這篇文章主要介紹了Android 中ImageView的ScaleType使用方法的相關(guān)資料,希望通過(guò)本能幫助到大家,需要的朋友可以參考下2017-09-09Android實(shí)現(xiàn)雙層ViewPager嵌套
這篇文章主要介紹了Android實(shí)現(xiàn)雙層ViewPager嵌套,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Android 圖片存儲(chǔ)到指定路徑和相冊(cè)的方法
本篇文章主要介紹了Android 圖片存儲(chǔ)到指定路徑和相冊(cè)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07利用Android實(shí)現(xiàn)光影流動(dòng)特效的方法詳解
Flutter 的畫(huà)筆類 Paint 提供了很多圖形繪制的配置屬性,來(lái)供我們繪制更豐富多彩的圖形。本篇我們引入一個(gè) Paint 類新的屬性:maskFilter,再結(jié)合之前的 shader 和動(dòng)畫(huà),制作出光影流動(dòng)特效,感興趣的可以嘗試一下2022-07-07