自定义Dilalog
来源:互联网 发布:linux路由表 局域网 编辑:程序博客网 时间:2024/06/06 13:16
效果图1: 效果图2:
1.主Activity代码:
package com.jun.activity;import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class DialogActivity extends Activity {
private Button btn = null;
private Dialog dialog = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog);
init();
}
private void init(){
btn=(Button) findViewById(R.id.btn);
btn.setOnClickListener(listener);
}
private OnClickListener listener =new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog();
}
private void showDialog() {
// TODO Auto-generated method stub
LayoutInflater inflater=LayoutInflater.from(DialogActivity.this);
final View v1=inflater.inflate(R.layout.dialog_my,null);
//R.layout.login与login.xml文件名对应,把login转化成View类型
AlertDialog.Builder dialog=new AlertDialog.Builder(DialogActivity.this);
dialog.setTitle("提醒");
dialog.s
dialog.setIcon(R.drawable.warning0);
dialog.setView(v1);//设置使用View
dialog.show();
}};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_dialog, menu);
return true;
}
}
2.对话框布局文件 dialog_my.xml布局文件内容:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/activity_bg_wall"
>
<LinearLayout
android:id="@+id/bottom_bar_layout"
android:layout_width="match_parent"
android:layout_height="40dip"
android:minHeight="40.0dip"
android:layout_marginTop="150dip"
android:layout_marginBottom="0dp"
android:background="@drawable/bar_bg_dialog_title"
android:orientation="horizontal"
>
<Button
android:id="@+id/btn_ok"
android:layout_width="70dip"
android:layout_height="40dip"
android:layout_marginLeft="15dp"
android:gravity="center_vertical|center_horizontal"
android:textSize="16dp"
android:textColor="#000000"
android:background="@drawable/btn_bg_selecter"
android:text="取消"
/>
<Button
android:id="@+id/btn_cancle"
android:layout_width="70dip"
android:layout_height="40dip"
android:layout_marginLeft="130dp"
android:gravity="center_vertical|center_horizontal"
android:textSize="16dp"
android:textColor="#000000"
android:background="@drawable/btn_bg_selecter"
android:text="确定"
/>
</LinearLayout>
< /RelativeLayout>
2.去标题栏,边框对话框设计:
⑴显示对话框的事件处理:
private void showCustomDialog()
{
//定义Dialog对象,/res/values/下的styles.xml文件十分重要R.style.CustomDialog
dialog = new Dialog(CustomDialogActivity.this, R.style.CustomDialog);
dialog.setContentView(R.layout.dialog_view);// 为对话框设置自定义布局
Button okBtn = (Button) dialog.findViewById(R.id.dialog_positive_button);
Button canclebtn = (Button) dialog.findViewById(R.id.dialog_negative_button);
okBtn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
dialog.dismiss();
}
});
canclebtn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
dialog.dismiss();
}
});
}
⑵styles.xml文件内容:
<?xml version="1.0" encoding="utf-8"?>
< resources>
<!-- 自定义Dialog -->
<style
name="CustomDialog"
parent="@android:Theme.Dialog">
<!--windowFrame框为无 -->
<item
name="android:windowFrame">@null</item>
<item
name="android:windowNoTitle">true</item>
<!-- 除去背景 -->
<item
name="android:windowBackground">@drawable/bg_transparent</item>
<!--是否浮现在activity之上 -->
<item
name="android:windowIsFloating">true</item>
<!-- 是否半透明 -->
<item
name="android:windowIsTranslucent">true</item>
<!-- 去掉覆盖层 -->
<item
name="android:windowContentOverlay">@null</item>
<!-- 设置背景颜色 -->
<item
name="android:background">#00000000</item>
</style>
<!-- Dialog动画 -->
<style
name="dialogWindowAnim"
parent="android:Animation">
<!-- 进入时的动画 -->
<item
name="android:windowEnterAnimation">@anim/dialog_enter_anim</item>
<!-- 退出时的动画 -->
<item
name="android:windowExitAnimation">@anim/dialog_exit_anim</item>
</style>
< /resources>
⑶Dialog对话框的布局dialog_view.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:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:paddingLeft="20dp"
android:background="#00000000"
android:orientation="vertical" >
<TextView
android:id="@+id/title_bar"
android:layout_width="fill_parent"
android:layout_height="45dip"
android:background="@drawable/bar_bg_shelf"
android:gravity="center_vertical|center_horizontal"
android:text="测试"
android:textColor="#fff"
android:textSize="20dip" />
<TextView
android:id="@+id/promptTv"
android:layout_width="fill_parent"
android:layout_height="150dp"
android:layout_marginTop="0dip"
android:background="@drawable/dialog_bg_wall"
android:gravity="center"
android:text="@string/promptText"
android:textColor="#000"
android:textSize="16.0sp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="45dp"
android:background="@drawable/bar_bg_shelf"
android:gravity="center"
android:orientation="horizontal"
>
<Button
android:id="@+id/dialog_positive_button"
android:layout_width="70dip"
android:layout_height="40dip"
android:layout_marginLeft="20dp"
android:layout_gravity="center_vertical"
android:background="@drawable/btn_bg_selecter"
android:gravity="center_vertical|center_horizontal"
android:text="确定"
android:textColor="#000000"
android:textSize="16dp" />
<Button
android:id="@+id/dialog_negative_button"
android:layout_width="70dip"
android:layout_height="40dip"
android:layout_marginLeft="90dp"
android:layout_gravity="center_vertical"
android:background="@drawable/btn_bg_selecter"
android:gravity="center_vertical|center_horizontal"
android:text="显示"
android:textColor="#000000"
android:textSize="16dp" />
</LinearLayout>
< /LinearLayout>
- 自定义Dilalog
- 学徒浅析Android开发:第三讲——Dilalog的常用方法介绍(一)
- 自定义
- 自定义
- 自定义
- 自定义
- 自定义
- 自定义TexBox,自定义ComboBox
- 自定义View自定义属性
- 自定义View自定义属性
- 自定义View自定义属性
- 自定义View自定义属性
- 自定义一个自定义对话框
- 自定义控件-自定义吐司
- 自定义checkbox,自定义button
- 自定义控件--自定义对话框
- 自定义控件----自定义属性
- 自定义控件:自定义Toast
- oracle下wm_concat源码(ps:如果有些版本的oracle不支持此函数,只要执行下下面的语句即可)
- Java Json
- 汉诺塔算法
- android phonelistener 使用MediaRecorder监听电话电话.并上传服务器
- 删除特殊字符和限定用户输入长度
- 自定义Dilalog
- mysql是如何启动和关闭的
- 黑马程序员_java高新技术(1)枚举、反射、内省
- VC++(MFC)实现SQL Server的远程连接(ADO实现)
- 什么是HTML和网页文件
- 类加载器
- Linux下使用Shell脚本改变当前工作路径
- Ubuntu 系统托盘输入法图标消失的解决办法
- MyEclipse默认标签TODO,XXX,FIXME和自定义标签的使用