AlertDialog在Android开发中经常用到,在这里分享一个漂亮的自定义AlertDialog控件。

实现效果:

Android 自定义AlertDialog_第1张图片


布局文件:

main.xml:

<?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="vertical" >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/welcomeText"         android:layout_gravity="center_horizontal"        android:layout_marginTop="10dp"/>    <Button        android:id="@+id/button2"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="点 击 出 现 对 话 框" >    </Button></LinearLayout>

dialogview.xml:

<?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="wrap_content"    android:layout_gravity="center_horizontal|center_vertical"    android:orientation="vertical" >    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginLeft="20dip"        android:layout_marginRight="20dip"        android:background="@drawable/alert"        android:gravity="center_horizontal"        android:orientation="vertical" >        <TextView            android:id="@+id/dialog_title"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginTop="17dip"            android:textColor="#ffffff"            android:textSize="16dip"            android:textStyle="bold" />        <TextView            android:id="@+id/dialog_message"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_margin="10dip"            android:gravity="center_horizontal"            android:textColor="#ffffff"            android:textSize="16dip" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_marginBottom="10dip"            android:layout_marginTop="10dip"            android:gravity="center_horizontal"            android:orientation="horizontal" >            <Button                android:id="@+id/cancel"                android:layout_width="0dip"                android:layout_height="40dip"                android:layout_gravity="left"                android:layout_marginLeft="10dip"                android:layout_weight="0.5"                android:background="@drawable/custom_button1"                android:textColor="@color/White"                android:textStyle="bold" />            <Button                android:id="@+id/ok"                android:layout_width="0dip"                android:layout_height="40dip"                android:layout_marginBottom="10dip"                android:layout_marginRight="10dip"                android:layout_weight="0.5"                android:background="@drawable/custom_button"                android:textColor="@color/White"                android:textStyle="bold" />        </LinearLayout>    </LinearLayout></LinearLayout>

MainActivity:

package hi.braincol.example.iphoneAlert;import android.app.Activity;import android.app.Dialog;import android.os.Bundle;import android.view.View;import android.view.Window;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {private Button button;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);button = (Button) findViewById(R.id.button);button.setOnClickListener(new Button.OnClickListener() {@Overridepublic void onClick(View arg0) {showCustomMessage("警告!", "您真的要退出应用?");}});}private void showCustomMessage(String pTitle, final String pMsg) {final Dialog lDialog = new Dialog(MainActivity.this,android.R.style.Theme_Translucent_NoTitleBar);lDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);lDialog.setContentView(R.layout.dialogview);((TextView) lDialog.findViewById(R.id.dialog_title)).setText(pTitle);((TextView) lDialog.findViewById(R.id.dialog_message)).setText(pMsg);((Button) lDialog.findViewById(R.id.ok)).setText("确定");((Button) lDialog.findViewById(R.id.cancel)).setText("取消");((Button) lDialog.findViewById(R.id.ok)).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {lDialog.dismiss();Toast.makeText(getApplicationContext(), "确定",Toast.LENGTH_SHORT).show();}});((Button) lDialog.findViewById(R.id.cancel)).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {lDialog.dismiss();Toast.makeText(getApplicationContext(), "取消",Toast.LENGTH_SHORT).show();}});lDialog.show();}}


点击下载源码


更多相关文章

  1. [Android]ButterKnife-无尽之刃-绑定视图控件和事件的快速开发工
  2. Ubuntu12.04下的Android 源码编译
  3. Android 属性动画(Property Animation) 完全解析【附源码】
  4. [Android]Android系统启动流程源码分析
  5. [Android]瀑布流实例android_waterfall源码分析
  6. Android中Activity启动过程源码阅读笔记:
  7. Android实现购物车加减器控件

随机推荐

  1. 挑战10个最难回答的Java面试题
  2. 变量系列教材 (三)- 什么是Java的字面值
  3. 初学者如何学习Java,找不到资料?学习没有目
  4. 变量系列教材 (四)- 在Java中进行基本类型
  5. HelloWorld系列教材 (二)- 用命令行中编写
  6. HelloWorld系列教材 (四)- 使用ecipse创建
  7. 变量系列教材 (五)- Java的命名规则
  8. 适合java初级工程师找工作的项目
  9. HelloWorld系列教材 (五)- 在Eclipse中运行
  10. 变量系列教材 (六)- 什么是Java的作用域