电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Android 開(kāi)發(fā)使用PopupWindow實(shí)現(xiàn)彈出警告框的復(fù)用類示例

瀏覽:49日期:2022-09-24 10:02:39

本文實(shí)例講述了Android 開(kāi)發(fā)使用PopupWindow實(shí)現(xiàn)彈出警告框的復(fù)用類。分享給大家供大家參考,具體如下:

Android開(kāi)發(fā)中相信下圖所示界面大家都不陌生,該種彈出框的使用頻率也是極高的,所以我專門謝了個(gè)類用于方便的彈出該界面。并把確定或取消后的邏輯通過(guò)抽象方法的方式讓用戶自己實(shí)現(xiàn),大大提高了開(kāi)發(fā)效率。下面是該類:

Android 開(kāi)發(fā)使用PopupWindow實(shí)現(xiàn)彈出警告框的復(fù)用類示例

package com.***.popupwindow;import ******;public abstract class MyPopupWindow { private PopupWindow popupWindow; private Activity context; private String content; private String positiveWord = '確定'; private String negativeWord = '取消'; /** * 構(gòu)造函數(shù) * * @param context */ public MyPopupWindow(Activity context) { this.context = context; } /** * 顯示警示框 */ public void show() { View popView = View.inflate(context, R.layout.popup, null); popupWindow = new PopupWindow(context); popupWindow.setHeight(400); popupWindow.setWidth(700); popupWindow.setOutsideTouchable(true); popupWindow.setFocusable(true); popupWindow.setContentView(popView); popupWindow.showAtLocation(context.getWindow().getDecorView(), Gravity.CENTER, 0, 0); TextView tv_pop_text = (TextView) popView.findViewById(R.id.tv_pop_text); tv_pop_text.setText(content); Button bt_pop_sure = (Button) popView.findViewById(R.id.bt_pop_sure); bt_pop_sure.setText(positiveWord); bt_pop_sure.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {sureClick(); } }); Button bt_pop_cancel = (Button) popView.findViewById(R.id.bt_pop_cancel); bt_pop_cancel.setText(negativeWord); bt_pop_cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {cancelClick(); } }); } /** * 確定鍵按下后執(zhí)行 */ public abstract void sureClick(); /** * 取消鍵按下后執(zhí)行 */ public abstract void cancelClick(); /** * 為警示設(shè)置警示內(nèi)容 * * @param content */ public void setContent(String content) { this.content = content; } /** * 設(shè)置確定鍵文字 * * @param positiveWord */ public void setPositiveWord(String positiveWord) { this.positiveWord = positiveWord; } /** * 設(shè)置取消鍵文字 * * @param negativeWord */ public void setNegativeWord(String negativeWord) { this.negativeWord = negativeWord; } /** * 手動(dòng)取消警示框 */ public void dismiss() { popupWindow.dismiss(); }}

其中彈出框用到的布局popup.xml代碼如下:

<?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='@android:color/white' android:orientation='vertical'> <TextView android: android:layout_width='match_parent' android:layout_height='wrap_content' android:layout_weight='1' android:gravity='center'/> <TextView android:layout_width='match_parent' android:layout_height='1px' android:background='@android:color/darker_gray'/> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal'> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:background='@android:color/transparent' android:layout_weight='1'/> <TextView android:layout_width='1px' android:layout_height='match_parent' android:background='@android:color/darker_gray'/> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:background='@android:color/transparent' android:layout_weight='1'/> </LinearLayout></LinearLayout>

下面簡(jiǎn)單的使用一下:在界面放一個(gè)按鈕,按鈕點(diǎn)擊后彈出警告框。代碼如下:

package com.toprs.popupwindow;import android.graphics.Color;import android.graphics.drawable.ColorDrawable;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.AttributeSet;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.PopupWindow;import android.widget.SeekBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity { private PopupWindow popupWindow; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {MyPopupWindow myPopupWindow = new MyPopupWindow(MainActivity.this) { @Override public void sureClick() { Toast.makeText(MainActivity.this, '確定', Toast.LENGTH_SHORT).show(); } @Override public void cancelClick() { Toast.makeText(MainActivity.this, '取消', Toast.LENGTH_SHORT).show(); }};myPopupWindow.setContent('確定退出?');myPopupWindow.show(); } }); }}

即如下效果:

Android 開(kāi)發(fā)使用PopupWindow實(shí)現(xiàn)彈出警告框的復(fù)用類示例

So,以后使用只需要簡(jiǎn)單調(diào)用幾句代碼就好了!

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android控件用法總結(jié)》、《Android開(kāi)發(fā)入門與進(jìn)階教程》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android數(shù)據(jù)庫(kù)操作技巧總結(jié)》及《Android資源操作技巧匯總》

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 板框压滤机-隔膜压滤机配件生产厂家-陕西华星佳洋装备制造有限公司 | 管理会计网-PCMA初级管理会计,中级管理会计考试网站 | 24位ADC|8位MCU-芯易德科技有限公司 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 北京网站建设|北京网站开发|北京网站设计|高端做网站公司 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 转子泵_凸轮泵_凸轮转子泵厂家-青岛罗德通用机械设备有限公司 | 法兰螺母 - 不锈钢螺母制造厂家 - 万千紧固件--螺母街 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 建筑资质代办_工程施工资质办理_资质代办公司_北京众聚企服 | 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 瓶盖扭矩测试仪-瓶盖扭力仪-全自动扭矩仪-济南三泉中石单品站 | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 太平洋亲子网_健康育儿 品质生活| 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 光伏支架成型设备-光伏钢边框设备-光伏设备厂家 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | Q361F全焊接球阀,200X减压稳压阀,ZJHP气动单座调节阀-上海戎钛 | 出国劳务公司_正规派遣公司[严海] | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 | 电动葫芦-河北悍象起重机械有限公司 | 品牌设计_VI设计_电影海报设计_包装设计_LOGO设计-Bacross新越品牌顾问 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 谈股票-今日股票行情走势分析-牛股推荐排行榜 | 气胀轴|气涨轴|安全夹头|安全卡盘|伺服纠偏系统厂家-天机传动 | 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 |