`

2月22日自定义Dialog

 
阅读更多
效果图:
[img]

[/img]

工程结构图:
[img]

[/img]

dialog.xml
<?xml version="1.0" encoding="utf-8"?>
	<!-- 新表箱管理==自定义Dialog -->
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:orientation="vertical">

	<LinearLayout
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:orientation="vertical"
		android:padding="6dip">
		<TextView
			android:text="提示"
			android:layout_height="wrap_content"
			android:layout_width="fill_parent"
			android:gravity="center_horizontal"
			style="@style/StyContent"/>
			
		<TextView
			android:text="此用户为一户多表,请输入钢印号后四位或六位查询"
			style="@style/StyContent"
			android:layout_marginTop="10dp"
			android:layout_height="wrap_content"
			android:layout_width="fill_parent"
			
			android:id="@+id/newbox_tv_dialog" />
		<EditText
			android:layout_height="wrap_content"
			android:id="@+id/newbox_et_dialog_madeno"
			style="@style/StyContent"
			android:inputType="number"
			android:singleLine="true"
			android:layout_marginTop="10dp"
			android:layout_width="fill_parent" />


	</LinearLayout>

	<LinearLayout
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:orientation="horizontal"
		android:gravity="center_horizontal">
		<Button
			android:text="确定"
			style="@style/StyButton"
			android:id="@+id/newbox_btn_dialog_confirm"
			android:layout_weight="1"
			android:gravity="center"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" />
		<Button
			android:text="取消"
			style="@style/StyButton"
			android:id="@+id/newbox_btn_dialog_cancel"
			android:layout_weight="1"
			android:gravity="center"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" />
	</LinearLayout>
</LinearLayout>


main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="@string/hello" />
	<Button
		android:text="Button"
		android:id="@+id/button1"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content" />
</LinearLayout>


color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
  	 <color name="color_dark_grey">#808080</color>

    <color name="color_black">#000000</color>

    <color name="color_green">#00FF00</color>

    <color name="color_red">#FF0000</color>

    <color name="color_white">#FFFFFF</color>
  
</resources>


style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    
   <!-- 正文区背景色--> 
   <style name="bgColor" >
      <item name="android:background">#ffffff</item>    
   </style> 
  	<style name="StyContent"> 
  		<item name="android:textSize">18px</item> 
   		<item name="android:textColor">#000000</item>   
   </style>
  <style name="StyTitle"> 
  		<item name="android:textSize">24dip</item> 
   		<item name="android:textColor">#000000</item>   
   </style>
    <style name="StyButton"> 
  		<item name="android:textSize">24dip</item> 
   		<item name="android:textColor">#303030</item>   
   </style>
   <!-- Define the list items style begin -->
    <style name="list_item_seperator_layout">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">1dip</item>
        <item name="android:background">@color/color_dark_grey</item>
    </style>
    <style name="list_item_cell_seperator_layout">
        <item name="android:layout_width">1dip</item>
        <item name="android:layout_height">fill_parent</item>
        <item name="android:background">@color/color_dark_grey</item>
    </style>
    <style name="list_item_header_seperator_layout">
        <item name="android:layout_width">1dip</item>
        <item name="android:layout_height">40dip</item>
        <item name="android:background">@color/color_dark_grey</item>
    </style>
    <!-- Define the list items style end --> 
    <style name="MyDialog" parent="@android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item> 
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>
        
</resources>


MainActivity
package com.zzl.dialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btn = (Button) findViewById(R.id.button1);
        btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				//初始化一个自定义的Dialog
				LayoutInflater factory = LayoutInflater.from(MainActivity.this);
				final View DialogView = factory.inflate(R.layout.dialog, null);
				final Dialog dialog = new Dialog(MainActivity.this,R.style.MyDialog);
				dialog.setContentView(DialogView);
				dialog.show();
				final EditText et = (EditText) DialogView.findViewById(R.id.newbox_et_dialog_madeno);
				Button btn = (Button) DialogView.findViewById(R.id.newbox_btn_dialog_confirm);
				btn.setOnClickListener(new OnClickListener() {
					
					@Override
					public void onClick(View arg0) {
						String str = et.getText().toString();
						dialog.cancel();
						Toast.makeText(getApplicationContext(), "测试="+str, 0).show();
					}
				});
			}
		});
    }
}
  • 大小: 27.9 KB
  • 大小: 27.8 KB
分享到:
评论

相关推荐

    各种自定义Dialog 以及Dialog加载动画

    2. **布局定制**:通过编写XML布局文件,可以自定义Dialog显示的内容,包括按钮、文本、图片等。将这个布局文件作为Dialog的内容视图,使用`setContentView()`方法将其设置进去。 3. **尺寸调整**:可以设置Dialog...

    自定义Dialog.zip

    2. **Scale动画**:调整Dialog的大小,使其在显示时逐渐放大或缩小,增加动态感。 3. **Translation动画**:改变Dialog的位置,如从底部向上滑动、从右向左滑动等,让Dialog的出现更有方向性。 4. **Rotation动画**...

    qml 用item自定义dialog 对话框

    本文将深入探讨如何使用QML中的`Item`来创建一个自定义的`Dialog`组件。 首先,了解`Dialog`的基本概念。在Qt Quick中,`Dialog`是一个用于展示临时信息或进行用户交互的窗口,通常会有一个确定的关闭机制,如点击...

    android 自定义Dialog提示+动画效果

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求进行个性化设计。本文将深入探讨如何实现一个带有动画效果的自定义Dialog,并以"android 自定义Dialog提示+动画效果"为主题...

    自定义dialog仿ios风格的dialog

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者创建具有独特设计和功能的对话框,以符合应用的品牌风格或提供更丰富的用户体验。本文将深入探讨如何在Android中实现一个仿iOS风格的Dialog,并根据...

    Android:自定义Dialog-Demo

    2. **创建Dialog类**:接下来,你需要创建一个新的Java类来扩展`AppCompatDialog`或`AlertDialog.Builder`。在这个类中,你会初始化布局,并设置点击事件监听器。例如: ```java public class CustomDialog ...

    android自定义Dialog的简单实现

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格或者特定功能来创建具有独特外观和行为的对话框。本篇文章将详细解析如何在Android中实现一个简单的自定义Dialog,以及相关的知识点...

    小程序自定义dialog

    在微信小程序中,自定义dialog(对话框)是一种常见的用户交互设计,用于向用户展示重要信息或进行简单操作确认。自定义dialog可以帮助开发者摆脱微信小程序内置组件的限制,实现更符合应用风格和功能需求的设计。本...

    自定义dialog弹出框

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格和功能需求创建具有独特外观和交互效果的对话框。本教程将深入探讨如何实现自定义Dialog,包括利用Shape和Selector来定制样式,以及...

    Android 自定义dialog

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求创建具有独特设计和交互方式的对话框。本篇将深入探讨如何在Android中实现自定义Dialog,包括基本原理、步骤以及相关的代码...

    自定义Dialog对话框(实现微信分享对话框)

    在Android开发中,自定义Dialog对话框是一种常见的需求,它能提供更为丰富的用户交互体验,尤其是在需要用户进行特定选择或操作时。本教程将详细讲解如何实现一个类似于微信分享的自定义Dialog对话框。 首先,我们...

    自定义dialog

    二、自定义Dialog的进阶技巧 1. 自定义主题:可以使用`android:theme`属性在AndroidManifest.xml中为DialogFragment设置自定义主题,或者在代码中通过`setTheme`方法设置。 2. 动画效果:通过设置Dialog的窗口属性...

    android 自定义dialog

    2. **自定义Dialog的基本步骤** - 创建一个新的布局文件:首先,你需要在`res/layout`目录下创建一个XML布局文件,用于定义Dialog的视图结构。 - 创建Dialog类:创建一个继承自`AppCompatDialog`的类,重写`...

    自定义Dialog的最简Demo

    最近用到类似苹果悬浮按钮这种非全屏显示的界面,于是第一想到的是利用自定义Dialog来实现,写了一个自定义Dialog的最简单的Demo。比较简单,易于学习。另有我的博客介绍 ...

    Android自定义dialog

    2. 初始化自定义Dialog类:继承`android.app.Dialog`或`androidx.appcompat.app.AlertDialog.Builder`,在构造函数中传入上下文并调用`setContentView()`方法加载刚才创建的布局。 ```java public class ...

    自定义Dialog加ListView

    在本项目中,“自定义Dialog加ListView”就是将`Dialog`与`ListView`结合,创建一个可以展示列表数据的弹出窗口,以提供更加丰富的用户交互体验。 首先,我们需要理解`Dialog`的基本用法。在Android中,我们可以...

    Android支付底部弹窗自定义dialog

    在Android应用开发中,自定义对话框(Dialog)是一种常见的用户交互方式,特别是在涉及到支付功能时,为了提供更好的用户体验,通常会使用底部弹窗来显示支付选项。本篇将详细介绍如何在Android中实现一个自定义的...

    仿小米自定义dialog

    android 仿小米自定义dialog,采用继承dialog方式实现,动画效果一流,不容错过。blog地址:http://blog.csdn.net/luck_apple/article/details/38464545

Global site tag (gtag.js) - Google Analytics