自定义的Dialog对话框
Android平台Eclipse开发工具
可能不是最好的,希望大家多指正。
MainActivity部分的代码package com.example.mydialog;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.graphics.Color;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
public class MainActivity extends Activity {
Button mBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtn=(Button) findViewById(R.id.btn);
mBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
showAlertDialog();
}
});
}
// 对话框
private void showAlertDialog() {
final AlertDialog dlg = new AlertDialog.Builder(this).create();
dlg.show();
Window window = dlg.getWindow();
// *** 主要就是在这里实现这种效果的.
// 设置窗口的内容页面,alertdialog.xml文件中定义view内容
window.setContentView(R.layout.alertdialog);
// 为确认按钮添加事件,执行退出应用操作
Button tv_queding = (Button) window.findViewById(R.id.tv_content1);
tv_queding.setText("确 定 ");
tv_queding.setOnClickListener(new View.OnClickListener() {
@SuppressLint("SdCardPath")
public void onClick(View v) {
Intent intent=new Intent();
intent.setClass(MainActivity.this, NextActivity.class);
startActivity(intent);
dlg.cancel();
}
});
//取消按钮不做任何操作可以不用添加动作
Button tv_quxiao = (Button) window.findViewById(R.id.tv_content2);
tv_quxiao.setText("取 消 ");
tv_quxiao.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
dlg.cancel();
}
});
dlg.setCancelable(false);
}
}alertdialog.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:orientation="vertical"
android:gravity="center"
>
<!-- 整个布局为线性布局,让最上面的图片、账户框、密码框平分上半部分,最下面的按钮独占一部分 -->
<LinearLayout
android:layout_width="410dp"
android:layout_height="167dp"
android:background="@drawable/icon_bg"
android:layout_gravity="center"
android:orientation="vertical"
>
<!-- 最上面的提示图片 -->
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tbz198x50"
android:layout_marginTop="15dp"
android:layout_marginLeft="20dp"
android:layout_weight="1"
/>
<!-- 账号框部分 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<TextView
android:id="@+id/txt_zhanghao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="账 号:"
android:layout_marginLeft="30sp"
android:textColor="#2E9AFE"
/>
<EditText
android:id="@+id/edt_zhanghao"
android:layout_width="300dp"
android:layout_height="30dp"
android:background="@drawable/edt35x246blue"
android:layout_marginLeft="5dp"
/>
</LinearLayout>
<!-- 密码框部分 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<TextView
android:id="@+id/txt_mima"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密 码:"
android:layout_marginLeft="30sp"
android:textColor="#2E9AFE"
/>
<EditText
android:id="@+id/edt_zhanghao"
android:layout_width="300dp"
android:layout_height="30dp"
android:background="@drawable/edt35x246blue"
android:password="true"
android:layout_marginLeft="5dp"
/>
</LinearLayout>
</LinearLayout>
<!-- 蓝色的线条 -->
<View
android:layout_width="410dp"
android:layout_height="1dp"
android:background="#2E9AFE"
/>
<!-- 以下部分为确定和取消的两个按钮 -->
<LinearLayout
android:layout_width="410dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:background="@drawable/icon_bg"
android:orientation="horizontal"
android:paddingLeft="5dp"
android:paddingRight="5dp" >
<!-- 另一个颜色值 #a8bbc6-->
<View
android:layout_width="1dp"
android:layout_height="55dp"
android:background="#fff"
android:layout_weight="1"
/>
<Button
android:id="@+id/tv_content1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#2E9AFE"
android:textSize="22sp"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/icon_bg"
/>
<View
android:layout_width="1dp"
android:layout_height="60dp"
android:background="#fff"
android:layout_weight="1"
/>
<View
android:layout_width="1dp"
android:layout_height="60dp"
android:background="#2E9AFE"
/>
<View
android:layout_width="1dp"
android:layout_height="60dp"
android:background="#fff"
android:layout_weight="1"
/>
<Button
android:id="@+id/tv_content2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#2E9AFE"
android:textSize="22sp"
android:layout_weight="1"
android:layout_gravity="center"
android:background="@drawable/icon_bg"
/>
<View
android:layout_width="1dp"
android:layout_height="55dp"
android:background="#fff"
android:layout_weight="1"
/>
</LinearLayout>
</LinearLayout> 现在很多都是使用 DialogFragment
页:
[1]