Android实现对话框-附一个完整例子
来源:互联网 发布:复杂网络社区发现 编辑:程序博客网 时间:2024/05/16 13:56
Android其实没有对话框的概念,有的只是用PopupWindow实现一个对话框的效果。下面给一个完整的例子,及用法。
新建一个PromptWindow类
package com.friendlocation;import java.util.ArrayList;import android.app.Activity;import android.content.Context;import android.graphics.drawable.Drawable;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.Button;import android.widget.ListView;import android.widget.PopupWindow;import android.widget.TextView;import android.widget.AdapterView.OnItemClickListener;public class PromptWindow extends PopupWindow{// 列表项Activity context;View popupView;OnBtnClickedListener listener;public PromptWindow(Activity context, int width, int height){super(context);this.context = context;// 创建popupView = context.getLayoutInflater().inflate(R.layout.prompt_window, null);Button btnOk = (Button) popupView.findViewById(R.id.btn_ok);btnOk.setOnClickListener(new OnClickListener(){public void onClick(View view){if(listener!= null) listener.onBtnOkClicked(PromptWindow.this);}});// 显示对话框this.setContentView(popupView);this.setWidth(width);this.setHeight(height);setFocusable(true);setBackgroundDrawable(context.getResources().getDrawable(R.drawable.shape_menu));//setBackgroundDrawable(new BitmapDrawable()); }public interface OnBtnClickedListener{public void onBtnOkClicked(PopupWindow win);}public void setOnBtnClickedListener(OnBtnClickedListener l){listener = l;}}
在res/layout下新建一个布局文件 prompt_window.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="@drawable/shape_menu_recent" android:orientation="vertical" android:padding="2dp" > <LinearLayout android:layout_width="match_parent" android:layout_height="fill_parent" android:background="#333333" android:orientation="vertical" > <TextView android:id="@+id/menu_title" android:layout_width="fill_parent" android:layout_height="1dp" android:background="#555555" android:gravity="center" android:text="注册提示" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#EEEEEE" android:textSize="18sp" /> <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:padding="4dp" android:text="软件未注册时限制最多100条信息,请删除若干消息后继续使用。或购买注册码。" android:textColor="#DDDDDD" android:textSize="14sp" /> <Button android:id="@+id/btn_ok" style="?android:attr/buttonStyleSmall" android:layout_width="100dp" android:layout_height="28dp" android:layout_gravity="right" android:layout_margin="4dp" android:background="@drawable/toolbutton" android:text="点此注册" android:textColor="#DDDDDD" /> </LinearLayout></LinearLayout>
都看懂了没?
显示对话框
PromptWindow win = new PromptWindow(this, 420, 240);win.showAtLocation(this.findViewById(R.id.titlebar), Gravity.CENTER, 0, 0);// 点击按钮时去干什么win.setOnBtnClickedListener(new PromptWindow.OnBtnClickedListener(){public void onBtnOkClicked(PopupWindow w){w.dismiss();//Intent intent = new Intent(MainActivity.this, RegisterActivity.class);startActivityForResult(intent, 100);}});
----------------------------------------------------------------------------------------------------------------------------------
《C/C++学习指南》 - 我的讲C/C++的教程,一看就懂的教程,所有必须要懂的知识点,来吧! 适用于初学者及三年工作经验以内的同学,配套答疑平台,“让编程变得简单!”。
0 0
- Android实现对话框-附一个完整例子
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android:横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Linux共享库的创建
- Perl使用总结
- Uni2D 入门 -- Skeletal Animation
- C语言编译全过程
- GridView控件与DataList控件DataKeyNames、DataKeysField、DataKeys用法
- Android实现对话框-附一个完整例子
- 海量影像快速发布(一)image Server介绍
- storyboard开发,根据系统版本选择不同的storyboard加载
- Maven3安装配置
- POI 导出word
- Wi-Fi(802.11ac)标准优缺点详解
- xCODE 内置的几个工具
- 通过 ServletContext 获取 WebApplicationContext
- Linux Kernel Boot CMDLINE Processing