色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Android簡單使用PopupWindow的方法

瀏覽:2日期:2022-09-20 16:07:06

本文實例為大家分享了Android簡單使用PopupWindow的的具體代碼,供大家參考,具體內容如下

思路

1.在res下面創建一個menu文件夾,并新建一個xml文件作為PoupWindow的布局文件。2.Activity中布局填充器加載菜單布局3.創建PopupWindow對象并設置內容以及動畫4.設置菜單布局中控件需要做的操作

menu菜單布局:

<?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:background='#eaeaea' android:orientation='vertical'> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_marginTop='10dp' android:text='選項一' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_marginTop='10dp' android:text='選項二' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_marginTop='10dp' android:text='選項三' /></LinearLayout>

定義動畫:

在styles資源文件里寫一個style繼承android:Animation,并設置進出場效果內容引用res下面的anim資源文件夾里的資源文件將動畫綁定到popuwidow

styles資源文件

Android簡單使用PopupWindow的方法

在res下面創建一個anim資源文件夾

anim資源文件

Android簡單使用PopupWindow的方法

Android簡單使用PopupWindow的方法

popupwindow綁定動畫 popupWindow.setAnimationStyle(R.style.www);

Activity

public class MainActivity extends AppCompatActivity { private Button bt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt = findViewById(R.id.bt); } public void click(View view) { //點擊事件 View inflate = LayoutInflater.from(this).inflate(R.layout.menu, null); //布局加載器加載菜單布局 Button bt1 = inflate.findViewById(R.id.bt1); Button bt2 = inflate.findViewById(R.id.bt2); Button bt3 = inflate.findViewById(R.id.bt3); /** * 創建PopupWindow對象 視圖對象, 寬, 高,缺一不可 * 第一種:創建對象的時候直接加參數 PopupWindow popupWindow = new PopupWindow(inflate, 200, ViewGroup.LayoutParams.WRAP_CONTENT,true); * 第二種 通過setContentView,setHeight,setWidth 來設置 * 寬高可設置固定值或者ViewGroup.LayoutParams.WRAP_CONTENT **/ final PopupWindow popupWindow = new PopupWindow(inflate, 200, ViewGroup.LayoutParams.WRAP_CONTENT); popupWindow.setOutsideTouchable(true); //點擊彈窗外部是否取消彈窗 popupWindow.setAnimationStyle(R.style.www); //設置自定義好的動畫 //彈窗出現外部為陰影 WindowManager.LayoutParams attributes = getWindow().getAttributes(); attributes.alpha = 0.5f; getWindow().setAttributes(attributes); //彈窗取消監聽 取消之后恢復陰影 popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { WindowManager.LayoutParams attributes = getWindow().getAttributes(); attributes.alpha = 1; getWindow().setAttributes(attributes); } }); //選項的點擊事件 bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { popupWindow.dismiss(); Toast.makeText(MainActivity.this, '選項一', Toast.LENGTH_SHORT).show(); } }); bt2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { popupWindow.dismiss(); Toast.makeText(MainActivity.this, '選項二', Toast.LENGTH_SHORT).show(); } }); bt3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { popupWindow.dismiss(); Toast.makeText(MainActivity.this, '選項三', Toast.LENGTH_SHORT).show(); } }); /** * 顯示popupwidow兩種方式 * 1.howAsDropDown出現在下方,三個參數:1綁定的控件2.x軸偏移量 3.y軸偏移量 * 2.showAtLocation自定義位置 四個參數 1綁定的控件 2.出現的位置 3.x軸偏移量 4.y軸偏移量 * **/ // popupWindow.showAsDropDown(bt,0,0); popupWindow.showAtLocation(bt, Gravity.CENTER, 0, 0); }}

Android簡單使用PopupWindow的方法

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
主站蜘蛛池模板: 欧美一级日韩在线观看 | 看片网站在线 | 精品国产美女福到在线不卡f | 久久综合网址 | 国产成人精品精品欧美 | 午夜伦y4480影院中文字幕 | 国产精品久久久久久吹潮 | 国产日韩一区二区三区 | 狠狠综合久久 | 久久93精品国产91久久综合 | 人成免费网站 | 欧美成人看片一区二区三区尤物 | 精品丝袜国产自在线拍亚洲 | 亚洲精品二区中文字幕 | 男女晚上爱爱的视频在线观看 | 成人做爰| 欧美一级淫片免费观看 | 欧美黄免在线播放 | 国产深夜福利在线观看网站 | 日本高清无吗免费播放 | 成人男女18免费o | 久视频免费精品6 | 日韩高清欧美 | 步兵一区二区三区在线观看 | 污到下面流水的视频 | 日韩中文字幕网站 | 精品国产无限资源免费观看 | 色色视频免费网 | 九九热播视频 | 日韩一区二区久久久久久 | 久久久久久综合一区中文字幕 | 97国产免费全部免费观看 | 久久免费精品视频在线观看 | 国产午夜精品一区二区三区不卡 | www成人| 日日狠狠久久偷偷四色综合免费 | 日韩欧美一级a毛片欧美一级 | 亚洲欧美成人 | 成年免费a级毛片 | 久久久国产精品免费看 | 亚洲精品视频在线 |